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()));
>>>>>>>>>>>> >                }
>>>>>>>>>>>> >            }
>>>>>>>>>>>> >        }
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

Reply via email to