I don't think you'll be able to extend the existing TreeCache to handle multi transactions. It would need to be a modification within Curator.
How much data are you actually caching? Jordan's suggestion of using the multi transactions is certainly a good one and would provide some performance benefits, but I have no idea how much. On Wed, Sep 16, 2015 at 10:06 AM, Vikrant Singh <[email protected] > wrote: > So does this mean I should try to modify tree cache to do multi > transaction? I was wondering if this is something I can do on top of stock > tree cache? if yes .. any pointers on how? > > On Tue, Sep 15, 2015 at 4:59 PM, Cameron McKenzie <[email protected]> > wrote: > >> How would you do multiple levels? Maybe I'm missing something, but don't >> you need to know the names of the child nodes for a level before you can >> query the level below that? >> >> On Wed, Sep 16, 2015 at 9:58 AM, Jordan Zimmerman < >> [email protected]> wrote: >> >>> You could even do multiple levels. Of course, you’d run into the 1MB >>> limit at some point. But, maybe if TreeCache knows it needs to do a certain >>> amount of work it could batch it via multi-transaction. >>> >>> >>> On September 15, 2015 at 6:57:36 PM, Cameron McKenzie ( >>> [email protected]) wrote: >>> >>> So you could execute the all the required getChildren calls for a >>> particular level of the tree in a single call to ZK? >>> >>> On Wed, Sep 16, 2015 at 9:54 AM, Jordan Zimmerman < >>> [email protected]> wrote: >>> >>>> However, there is an optimization opportunity by using ZK’s >>>> multi-transactions. Maybe we can explore this. >>>> >>>> -Jordan >>>> >>>> >>>> >>>> On September 15, 2015 at 6:44:46 PM, Cameron McKenzie ( >>>> [email protected]) wrote: >>>> >>>> It would be largely dependent upon how much data you're caching. The >>>> tree cache needs to recursively query ZK to populate the cache. >>>> cheers >>>> >>>> On Wed, Sep 16, 2015 at 9:30 AM, Vikrant Singh < >>>> [email protected]> wrote: >>>> >>>>> Hello All, >>>>> I am using tree cache for one of my project. Issue I am facing is with >>>>> the time it is taking for initialize itself. It is taking around 300ms to >>>>> 3-4 s to load itself. >>>>> This is how I am initializing the client and cache >>>>> >>>>> >>>>> * private val client = CuratorFrameworkFactory.newClient(hostList, new >>>>> ExponentialBackoffRetry(ZookeeperCache.RetryInterval.toMillis.toInt,ZookeeperCache.RetryCount))* >>>>> >>>>> >>>>> *val cache = TreeCache.newBuilder(client, path).build()* >>>>> >>>>> >>>>> post this I register for a handler and then wait for >>>>> "TreeCacheEvent.Type.INITIALIZED" event. It take on avg 300ms to 3-4 s. >>>>> IS there something I can do to improve this performance? >>>>> Thanks, >>>>> Vikrant >>>>> >>>>> >>>>> >>>> >>> >> >
