[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-417?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12724348#action_12724348
 ] 

Mahadev konar commented on ZOOKEEPER-417:
-----------------------------------------

the patch looks good ... i have some comments -- 

line 543  in NIOServerCnxn.java 

{code}
si.setOwner(zk);
zk.submitRequest(si);
{code}

Can we just use some static final Object adn si.setOwner(Object)?

- Is there any use of using zk specifically? If we just use some static object 
then we can just say that this will be replaced at the leader with the right 
follower handler and then is a dummy object in followers and single zookeeper 
wherein it has no spefic use case... the reason I say this is that its a little 
confusing to understand the code if we dont have comments here .... also if we 
can use a dummy object rather than zk, its much cleaner. what do you think?

> stray message problem when changing servers
> -------------------------------------------
>
>                 Key: ZOOKEEPER-417
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-417
>             Project: Zookeeper
>          Issue Type: Bug
>            Reporter: Benjamin Reed
>            Assignee: Benjamin Reed
>            Priority: Blocker
>             Fix For: 3.2.0
>
>         Attachments: ZOOKEEPER-417.patch, ZOOKEEPER-417.patch, 
> ZOOKEEPER-417.patch
>
>
> There is  a possibility for stray messages from a previous connection to 
> violate ordering and generally cause problems. Here is a scenario: we have a 
> client, C, two followers, F1 and F2, and a leader, L. The client is connected 
> to F1, which is a slow follower. C sends setData("/a", "1") to F1 and then 
> loses the connection, so C reconnects to F2 and sends setData("/a", "2").  it 
> is possible, if F1 is slow enough and the setData("/a", "1") got onto the 
> network before the connection break, for F1 to forward the setData("/a", "1") 
> to L after F2 forwards setData("/a", "2").
> to fix this, the leader should keep track of which follower last registered a 
> session for a client and drop any requests from followers for clients for 
> whom they do not have a registration. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to