Nathan Reynolds

Results 53 comments of Nathan Reynolds

All of them. I was stepping through code that was calling `RetryPolicyBuilder`. It would be nice to see the state in the debugger to make sure I got the code...

@jhalterman I am suggesting the rate limiter track the recent execution times from multiple operations. Before an operation can proceed, calculate the following: average execution time = total execution time...

@jhalterman You can store historic execution information in `ImpactRateLimiterImpl`, a new class. You could have `private volatile Duration totalTime` and `private volatile long count` fields. A `VarHandle.compareAndSet()` can be used...

@Tembrel Ah, you're right. So, you can use `AtomicReference` and `AtomicLong`.

Why would Failsafe need access to the scheduler? The thread tracker can capture `Thread.currentThread()` before and after execution. For example... ``` private static final ThreadTracker TRACKER = ThreadTracker.builder().build(); public Widget...

Perhaps, I am asking for `Timeout` to allow for configuration by the programmer to dump the call stack of the executing thread when the deadline is reached. Tracking the executing...

I am interested in tracking threads that are used for executing user-provided suppliers and runnables. I have a program that launches a bunch of async tasks as a group. The...

If `Timeout` were enhanced to capture the call stack at the timeout of the thread executing the user-provided supplier or runnable, then the `onFailure()` could log that call stack.

I am looking at `TimeoutExecutor.apply()`. It can be enhanced to capture the call stack of the thread at the timeout. On the line before `timeoutFuture = Scheduler.DEFAULT.schedule(() -> {`, add...

To accommodate async, we can change the solution for both async and sync. `TimeoutExecutor` can implement something like... ``` private volatile Thread m_thread; public void preExecute() { m_thread = Thread.currentThread();...