dirigiste icon indicating copy to clipboard operation
dirigiste copied to clipboard

Exception swallowed by io.aleph.Executor

Open arichiardi opened this issue 9 years ago • 3 comments

Hello Zach, I had a problem while using the utilization-executor in manifold and tracked it down to dirigiste. I think.

Basically as you can see by running lein run in this repro repo, the compile-time exception is kind of swallowed when using the dirigiste Executor. Nothing finishes in the Thread.UncaughtExceptionHandler basically.

I haven't actually tried the fix, but I smell something is going on here.

I will probably experiment a bit more but I wanted to hear from you if you think I am on the right track.

Thanks!

arichiardi avatar Aug 12 '16 05:08 arichiardi

I see why you don't want it to throw, you are logging statistics there, I don't know what the solution can be, maybe just logging? Maybe let the thread die?

arichiardi avatar Aug 12 '16 05:08 arichiardi

Just for reference, the issue is at https://github.com/ztellman/dirigiste/blob/master/src/io/aleph/dirigiste/Executor.java#L64. I need to think about what's the "right" thing to do here.

ztellman avatar Nov 14 '16 21:11 ztellman

This also popped up as an issue for me @ztellman after I was experiencing otherwise inexplicable HTTP timeouts with the Aleph client and the default executor. The main thing that would be helpful here for me is to log the exception. As a workaround I'm just avoiding the default executor pool. A potential alternative is to always supply to the request client middleware that catches all exceptions, logs them, and rethrows.

alexandergunnarson avatar Nov 12 '19 06:11 alexandergunnarson