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:15:42 GMT
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