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 01:22:59 GMT
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 <mckenzie.cam@gmail.com>
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 <elastic.l.k@gmail.com>
> 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 <mckenzie.cam@gmail.com>
>> 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 <elastic.l.k@gmail.com>
>>> 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 <
>>>> 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