Github user srdo commented on the issue:

    https://github.com/apache/curator/pull/215
  
    @Randgalt Could you elaborate on why this is wrong? If I understand you, 
the issue is that background callbacks must happen in the Zookeeper thread, not 
CuratorFrameworkImpl's ExecutorService thread? I still don't see how this is 
changed by the code you posted. In order for there to be a change in behavior, 
a Zookeeper thread must call `CuratorFrameworkImpl.processBackgroundOperation` 
with a null event. If the event is not null, the behavior is unchanged.
    
    I'm having a hard time finding any instances of 
`CuratorFrameworkImpl.processBackgroundOperation` being called with a null 
event from a Zookeeper callback. The calls I can find all have a non-null event 
when called from inside a Zookeeper callback.
    
    It looks to me like all the calls to `processBackgroundOperation` with a 
null event are coming from `forPath` or equivalent (e.g. `forOperations`). 
Aren't those running in the user's thread, and not one of Zookeeper's threads?
    
    Do you have an example where the thread executing the background callback 
has changed, or any calls to `processBackgroundOperation` with a null event 
from Zookeeper callback code?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to