i tried all the curator libraries . still same result . TestingServer or the PathCache isn't working
On Wed, Mar 9, 2016 at 5:22 PM, s influxdb <[email protected]> wrote: > Ok let me try that. > > On another note this piece of nodecache code works > > final NodeCache nodeCache = new NodeCache(client, PATH); > nodeCache.getListenable().addListener(new > NodeCacheListener() { > @Override > public void nodeChanged() throws Exception { > ChildData currentData = nodeCache.getCurrentData(); > System.out.println("data change watched, and > current data = " + new String(currentData.getData())); > } > }); > nodeCache.start(); > Thread.sleep(50000); > > On Wed, Mar 9, 2016 at 5:20 PM, Cameron McKenzie <[email protected]> > wrote: > >> You must have some old Curator stuff on your classpath. All of the >> curator stuff has an org.apache package prefix. It was ported from Netflix >> some time ago. >> >> On Thu, Mar 10, 2016 at 12:15 PM, s influxdb <[email protected]> >> wrote: >> >>> I see the TestingServer class in import >>> com.netflix.curator.test.TestingServer; >>> >>> In the sample file i see it as import >>> org.apache.curator.test.TestingServer; >>> >>> Even then i get the below error while instantiating a TestingServer Class >>> Default constructor cannot handle exception type Exception thrown by >>> implicit super constructor. Must define an explicit constructor >>> >>> Then i tried the TestingCluster class >>> static TestingCluster server = new TestingCluster(); >>> >>> That gives me a class not found exception >>> Exception in thread "main" java.lang.NoClassDefFoundError: >>> javassist/NotFoundException >>> at >>> com.netflix.curator.test.TestingCluster.<clinit>(TestingCluster.java:40) >>> >>> >>> On Wed, Mar 9, 2016 at 4:16 PM, Cameron McKenzie <[email protected] >>> > wrote: >>> >>>> The TestingServer class is definitely in the curator-test jar, so you >>>> must have some issue with your build / IDE environment. >>>> >>>> On Thu, Mar 10, 2016 at 11:13 AM, s influxdb <[email protected]> >>>> wrote: >>>> >>>>> I tried importing the curator-test artifcactid and it this import >>>>> org.apache.curator.test.TestingServer; doesn't resolve >>>>> >>>>> On Wed, Mar 9, 2016 at 2:58 PM, Cameron McKenzie < >>>>> [email protected]> wrote: >>>>> >>>>>> Can you try running the PathCacheExample unmodified? It uses a >>>>>> testing ZK server. But can you just confirm that this much works for you? >>>>>> Then maybe try and modify the sample so that it connects to your real ZK >>>>>> instance? >>>>>> >>>>>> On Thu, Mar 10, 2016 at 9:53 AM, s influxdb <[email protected]> >>>>>> wrote: >>>>>> >>>>>>> i did try adding a sleep and got the same result >>>>>>> cache.start(); >>>>>>> Thread.sleep(5000); >>>>>>> list(cache); >>>>>>> >>>>>>> I am using curator libraries version 2.10 and zookeeper version >>>>>>> 3..4.6 >>>>>>> >>>>>>> On Wed, Mar 9, 2016 at 2:19 PM, Cameron McKenzie < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> I think that you have a race condition between calling start() on >>>>>>>> your cache and calling list(). Calling list() just checks the current >>>>>>>> state >>>>>>>> of the cache. If it hasn't communicated with ZK yet, it won't have any >>>>>>>> data. Try putting in a sleep after the cache.start() call, before you >>>>>>>> call >>>>>>>> list(). >>>>>>>> >>>>>>>> On Thu, Mar 10, 2016 at 9:16 AM, s influxdb <[email protected]> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> sure >>>>>>>>> >>>>>>>>> main class >>>>>>>>> RetryPolicy retryPolicy = new ExponentialBackoffRetry(1000, 3); >>>>>>>>> client = CuratorFrameworkFactory.newClient("10.x.x.x", >>>>>>>>> retryPolicy); >>>>>>>>> client.start(); >>>>>>>>> SyncData sd = new SyncData(client); >>>>>>>>> sd.run(); >>>>>>>>> >>>>>>>>> the class that calls cache >>>>>>>>> >>>>>>>>> private static final String PATH = "/zktest"; >>>>>>>>> >>>>>>>>> public void run () throws Exception >>>>>>>>> { >>>>>>>>> try { >>>>>>>>> >>>>>>>>> cache = new PathChildrenCache(client, PATH, true); >>>>>>>>> cache.start(); >>>>>>>>> >>>>>>>>> list(cache); >>>>>>>>> >>>>>>>>> >>>>>>>>> for(;;) { >>>>>>>>> try { >>>>>>>>> Thread.sleep(50000); >>>>>>>>> } catch(InterruptedException e) { >>>>>>>>> } >>>>>>>>> } >>>>>>>>> >>>>>>>>> } >>>>>>>>> finally { >>>>>>>>> CloseableUtils.closeQuietly(cache); >>>>>>>>> } >>>>>>>>> } >>>>>>>>> >>>>>>>>> On Wed, Mar 9, 2016 at 1:30 PM, Cameron McKenzie < >>>>>>>>> [email protected]> wrote: >>>>>>>>> >>>>>>>>>> I just tried running the example and it seems to work fine for >>>>>>>>>> me. I assume that you modified the code in some way for it to run >>>>>>>>>> against a >>>>>>>>>> proper ZK instance? Can you post it somewhere? >>>>>>>>>> >>>>>>>>>> On Thu, Mar 10, 2016 at 5:53 AM, s influxdb < >>>>>>>>>> [email protected]> wrote: >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> ---------- Forwarded message ---------- >>>>>>>>>>> From: s influxdb <[email protected]> >>>>>>>>>>> Date: Wed, Mar 9, 2016 at 10:36 AM >>>>>>>>>>> Subject: Re: curator pathcache >>>>>>>>>>> To: Jordan Zimmerman <[email protected]> >>>>>>>>>>> Cc: [email protected] >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Sorry for posting this in a wrong forum the first time. >>>>>>>>>>> >>>>>>>>>>> I recreated a new project and was running the example code here >>>>>>>>>>> for cache : >>>>>>>>>>> http://curator.apache.org/curator-examples/index.html >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Today when i try to replicathe NPE i am unable to do that . >>>>>>>>>>> However when i call the list(cache) it prints the size of the >>>>>>>>>>> data in the node as 0. This works with NodeCache >>>>>>>>>>> >>>>>>>>>>> Curator libraries are 2.10 and zookeeper version 3.4.6. >>>>>>>>>>> >>>>>>>>>>> Ideally i would like to use TreeCache but it gave me NPE too. My >>>>>>>>>>> use case is setting a watch on the entire znode in the cluster and >>>>>>>>>>> be >>>>>>>>>>> notified about it. Thanks for replying to the mail. >>>>>>>>>>> >>>>>>>>>>> private static void list(PathChildrenCache cache) >>>>>>>>>>> { >>>>>>>>>>> if ( cache.getCurrentData().size() == 0 ) >>>>>>>>>>> { >>>>>>>>>>> System.out.println("* empty *"); >>>>>>>>>>> } >>>>>>>>>>> else >>>>>>>>>>> { >>>>>>>>>>> for ( ChildData data : cache.getCurrentData() ) >>>>>>>>>>> { >>>>>>>>>>> System.out.println(data.getPath() + " = " + new >>>>>>>>>>> String(data.getData())); >>>>>>>>>>> } >>>>>>>>>>> } >>>>>>>>>>> } >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Wed, Mar 9, 2016 at 9:44 AM, Jordan Zimmerman < >>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>> >>>>>>>>>>>> Moving this to Curator’s list… >>>>>>>>>>>> >>>>>>>>>>>> Where do you get the NPE? Please send the stacktrace. >>>>>>>>>>>> >>>>>>>>>>>> -Jordan >>>>>>>>>>>> >>>>>>>>>>>> > On Mar 8, 2016, at 8:27 PM, s influxdb <[email protected]> >>>>>>>>>>>> wrote: >>>>>>>>>>>> > >>>>>>>>>>>> > I am trying to run the path cahce and keep java NPE >>>>>>>>>>>> > >>>>>>>>>>>> > Running curator 2.9.0 libraries against a zookeeper 3.4.6 >>>>>>>>>>>> cluster >>>>>>>>>>>> > Even >>>>>>>>>>>> > >>>>>>>>>>>> > The samples are taken from the curator examples . >>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>>> > public void run () throws Exception >>>>>>>>>>>> > { >>>>>>>>>>>> > try { >>>>>>>>>>>> > >>>>>>>>>>>> > pcache = new PathChildrenCache(client, PATH, >>>>>>>>>>>> true); >>>>>>>>>>>> > pcache.start(); >>>>>>>>>>>> > >>>>>>>>>>>> > addListener(cache); >>>>>>>>>>>> > >>>>>>>>>>>> > // list(pcache); >>>>>>>>>>>> > >>>>>>>>>>>> > pcache.close(); >>>>>>>>>>>> > } >>>>>>>>>>>> > finally { >>>>>>>>>>>> > CloseableUtils.closeQuietly(cache); >>>>>>>>>>>> > } >>>>>>>>>>>> > } >>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>>> > private static void addListener(PathChildrenCache cache) >>>>>>>>>>>> > { >>>>>>>>>>>> > // a PathChildrenCacheListener is optional. Here, >>>>>>>>>>>> it's used just >>>>>>>>>>>> > to log changes >>>>>>>>>>>> > PathChildrenCacheListener listener = new >>>>>>>>>>>> > PathChildrenCacheListener() >>>>>>>>>>>> > { >>>>>>>>>>>> > @Override >>>>>>>>>>>> > public void childEvent(CuratorFramework client, >>>>>>>>>>>> > PathChildrenCacheEvent event) throws Exception >>>>>>>>>>>> > { >>>>>>>>>>>> > switch ( event.getType() ) >>>>>>>>>>>> > { >>>>>>>>>>>> > case CHILD_ADDED: >>>>>>>>>>>> > { >>>>>>>>>>>> > System.out.println("Node added: " + >>>>>>>>>>>> > ZKPaths.getNodeFromPath(event.getData().getPath())); >>>>>>>>>>>> > break; >>>>>>>>>>>> > } >>>>>>>>>>>> > >>>>>>>>>>>> > case CHILD_UPDATED: >>>>>>>>>>>> > { >>>>>>>>>>>> > System.out.println("Node changed: " + >>>>>>>>>>>> > ZKPaths.getNodeFromPath(event.getData().getPath())); >>>>>>>>>>>> > break; >>>>>>>>>>>> > } >>>>>>>>>>>> > >>>>>>>>>>>> > case CHILD_REMOVED: >>>>>>>>>>>> > { >>>>>>>>>>>> > System.out.println("Node removed: " + >>>>>>>>>>>> > ZKPaths.getNodeFromPath(event.getData().getPath())); >>>>>>>>>>>> > break; >>>>>>>>>>>> > } >>>>>>>>>>>> > } >>>>>>>>>>>> > } >>>>>>>>>>>> > }; >>>>>>>>>>>> > cache.getListenable().addListener(listener); >>>>>>>>>>>> > } >>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>>> > Here running a list returns empty size all the time >>>>>>>>>>>> > >>>>>>>>>>>> > private static void list(PathChildrenCache cache) >>>>>>>>>>>> > { >>>>>>>>>>>> > >>>>>>>>>>>> > if ( cache.getCurrentData().size() == 0 ) >>>>>>>>>>>> > { >>>>>>>>>>>> > System.out.println("* empty *"); >>>>>>>>>>>> > } >>>>>>>>>>>> > else >>>>>>>>>>>> > { >>>>>>>>>>>> > for ( ChildData data : cache.getCurrentData() ) >>>>>>>>>>>> > { >>>>>>>>>>>> > System.out.println(data.getPath() + " = " >>>>>>>>>>>> + new >>>>>>>>>>>> > String(data.getData())); >>>>>>>>>>>> > } >>>>>>>>>>>> > } >>>>>>>>>>>> > } >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> >
