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

Ted Dunning commented on ZOOKEEPER-1312:
----------------------------------------

Daniel,

The conventional answer to contention and size such as you are describing is to 
simply shard the info file.  If you shard this file 50x then you can have 50 
threads updating simultaneously and you decrease the dead weight data being 
passed around as part of the read-modify-write operation by 50x as well.

The real point is that you can have a relatively small number of files so that 
you can now batch your status reads.  This decreases the number of transactions 
required to read the status of all of the leases.  

Note also that since the shards have disjoint information, atomicity of reading 
is probably not an issue.
                
> Add a "getChildrenWithStat" operation
> -------------------------------------
>
>                 Key: ZOOKEEPER-1312
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1312
>             Project: ZooKeeper
>          Issue Type: New Feature
>            Reporter: Daniel Lord
>              Labels: newbie
>
> It would be extremely useful to be able to have a "getChildrenWithStat" 
> method.  This method would behave exactly the same as getChildren but in 
> addition to returning the list of all child znode names it would also return 
> a Stat for each child.  I'm sure there are quite a few use cases for this but 
> it could save a lot of extra reads for my application.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to