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 02:13:47 GMT
i was using the Eclipse IDE and adding the Curator JAR's as External JAR.
It resolves for curator framework , curator client etc

The code i have is nothing but the sample PathCacheExample.java code from
the examples posted in curator.apache.org

Let me try it using maven instead.

On Wed, Mar 9, 2016 at 6:09 PM, Jordan Zimmerman <jordan@jordanzimmerman.com
> wrote:

> Post your code along with whatever build scripts you’re using to Github or
> something similar and we’ll have a look. Are you using Maven? Gradle? How
> are you putting your dependencies together?
>
> On Mar 9, 2016, at 9:04 PM, s influxdb <elastic.l.k@gmail.com> wrote:
>
> 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 <elastic.l.k@gmail.com> 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 <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