Got it.
Thanks Flavio, Chris Nauroth.

-----Original Message-----
From: Chris Nauroth [mailto:[email protected]] 
Sent: 07 September 2016 22:24
To: [email protected]; [email protected]
Subject: Re: ZooKeeper Sync API path parameter does not have any impact.

Yes, the sync operation really applies to the client’s entire view of ZooKeeper 
state, not a specific path or sub-tree, so I would not expect to see any 
significant difference in time for sync(/path1) vs. sync(/path2).  The presence 
of the path is only a client API convenience.

Expanding a bit on what Flavio already said, the reason a client calls sync is 
often because it wants to read up-to-date state for a specific path.  If an 
application is doing this kind of logic for multiple paths, then it can check 
the path in AsyncCallback.VoidCallback#processResult and know that this is a 
completed sync in preparation for reading /path1 vs. /path2.

I woudn’t expect any of this to influence execution time of the sync operation 
though.  If you do see a difference in execution time, then that’s likely just 
a coincidence.  (Maybe it’s just a coincidence that there was more write 
activity at the time of calling sync(/path1) vs. sync(/path2), and therefore 
one of those sync calls needed to do more work to catch up with all of the 
transactions.)

--Chris Nauroth

On 9/7/16, 8:47 AM, "Mohammad arshad" <[email protected]> wrote:

    So path is completely for ZooKeeper client. It has nothing to do with 
server. Therefore whether I execute sync /path1 or sync /path2, sync request 
will complete in the same time. right?
    
    -Arshad
    -----Original Message-----
    From: Flavio Junqueira [mailto:[email protected]] 
    Sent: 07 September 2016 16:45
    To: [email protected]
    Cc: [email protected]
    Subject: Re: ZooKeeper Sync API path parameter does not have any impact.
    
    The path parameter helps the app determine the path that the response is 
referring to. A sync call is typically associated to a read request to a given 
path, so the path in the sync call helps the application make the association 
to that path.
    
    -Flavio
    
    > On 07 Sep 2016, at 11:35, Mohammad arshad <[email protected]> 
wrote:
    > 
    > Hello Everyone
    > ZooKeeper sync API takes a path argument.
    > But it seems this path is no where used in the server code. Same path is 
returned from the server to client again in SyncResponse.
    > Is the any other purpose of sync API path parameter.
    > Will there be any different impact for below sync commands form zk Cli?
    > sync /path1
    > sync /path2
    > 
    > Thanks
    > -Arshad
    
    
    

Reply via email to