curator-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jordan Zimmerman <>
Subject Re: PathChildrenCache creates the node if not present
Date Thu, 21 Jul 2016 21:31:26 GMT
I forget now who wrote CloseableExecutorService. As I recall, the desire was to be able to
have an object that looks like an ExecutorService but could handle an externally managed ExecutorService
or an internally managed one. This way, the code could always treat it as internally managed
- being able to call shutdownNow, etc. - but if it was provided by a client it would only
close threads actually used by the instnace.


> On Jul 21, 2016, at 4:28 PM, Scott Blum <> wrote:
> Looks like a real bug... for some reason, the single-arg constructor for CloseableExecutorService
defaults to NOT actually shutting down the underlying executor.  This makes absolutely no
sense to me, but it's the source of the bug... most of the code paths to construct a TreeCache
use the 1-arg constructor.  Only one of them uses the 2-arg constructor with the right setting.
> I have to admit, the design of CloseableExecutorService is kind of WTF-inducing for me...
> On Thu, Jul 21, 2016 at 5:18 PM, Jordan Zimmerman < <>>
> Please open an issue in Jira if this is a real bug.
> > On Jul 21, 2016, at 4:16 PM, Scott Blum < <>>
> >
> > Okay, now I can repro it; the difference was you adding the loop to wait for the
thread to start up.

View raw message