curator-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From s influxdb <elastic....@gmail.com>
Subject Re: curator pathcache
Date Thu, 10 Mar 2016 00:13:43 GMT
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 <mckenzie.cam@gmail.com>
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 <elastic.l.k@gmail.com> 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 <mckenzie.cam@gmail.com>
>> 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 <elastic.l.k@gmail.com>
>>> 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 <
>>>> mckenzie.cam@gmail.com> 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 <elastic.l.k@gmail.com>
>>>>> wrote:
>>>>>
>>>>>>
>>>>>> ---------- Forwarded message ----------
>>>>>> From: s influxdb <elastic.l.k@gmail.com>
>>>>>> Date: Wed, Mar 9, 2016 at 10:36 AM
>>>>>> Subject: Re: curator pathcache
>>>>>> To: Jordan Zimmerman <jordan@jordanzimmerman.com>
>>>>>> Cc: user@curator.apache.org
>>>>>>
>>>>>>
>>>>>> 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 <
>>>>>> jordan@jordanzimmerman.com> 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 <elastic.l.k@gmail.com>
>>>>>>> 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()));
>>>>>>> >                }
>>>>>>> >            }
>>>>>>> >        }
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

Mime
View raw message