CURATOR-727: Allow watches to be executed asynchronously
https://issues.apache.org/jira/browse/CURATOR-727
This gives users the ability to run all watches asynchronously, via a provided executorService.
cc @eolivelli @kezhuw @Randgalt @cammckenzie
Not quite sure if such a change would break sequential assumption.
Hi @HoustonPutman!
We just released Curator 5.8.0 and it causes several code conflict. To move this PR forward, I'd suggest you rebase this patch or open a new one, referring to https://github.com/apache/curator/issues/1242.
And the key blocker here is to analyze and describe how running watches in a dedicated executor service won't break current sequential implementation. That is, do we depend on the sequential assumption? Or describing the current execution order to ensure that we won't break any assumption.
Thanks for the update @tisonkun. Yeah, there is a lot to think about there, and probably will require a more intelligent feature.
This isn't a blocker for us, so we can move forward as-is with this release in Solr. But as we transfer leader election and other big features to recipes, we can come back and rethink how to approach the watch executor.