[ 
https://issues.apache.org/jira/browse/SOLR-10619?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15999727#comment-15999727
 ] 

Shalin Shekhar Mangar commented on SOLR-10619:
----------------------------------------------

I read the code again and yeah my understanding was wrong. The watcher is set 
on each fetch from zk which either happens because we are in a dirty state or 
when we run out of items in the knownChildren so we ends up having a watcher 
all the time. The docs in the implementation notes are also wrong.

I'll lean towards the option that keeps things simple for the use-case we need 
this queue for -- which is the overseer. There's no harm in explicitly 
marking/documenting DistributedQueue as a single-consumer queue.

If the overseer sees a node disappear from ZK it is either because someone 
mucked around with ZK manually or the overseer has changed and the currently 
executing overseer hasn't realised that yet. In such a case, it might be worth 
to add a callback which the overseer can use to check if it is still the 
leader. The result of this callback can be used to abort further calls to ZK.

Wow, I'm glad Dat caught this! Thanks Dat!

> When DQ.knowChildren is not empty, DQ should not refetch node children in 
> case of single consumer
> -------------------------------------------------------------------------------------------------
>
>                 Key: SOLR-10619
>                 URL: https://issues.apache.org/jira/browse/SOLR-10619
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>            Reporter: Cao Manh Dat
>            Assignee: Cao Manh Dat
>         Attachments: SOLR-10619.patch, SOLR-10619.patch
>
>
> Right now, for every time childWatcher is kicked off. We refetch all children 
> of DQ's node. It is a wasted in case of single consumer.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to