dirigiste
dirigiste copied to clipboard
Exception swallowed by io.aleph.Executor
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!
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?
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.
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.