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:27:30 GMT
Thanks Jordan. I will try with sample Maven pom file.  I spend a good deal
of time by building the project in Eclipse just by adding the JARs. I
appreciate the quick replies very much.

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

> You need to do much more than that. Have you done much Java programming?
> Curator’s TestServer is in a separate artifact. I suggest you use a
> dependency manager such as Maven or Gradle. The Curator examples directory
> has a Maven pom file that you can use. But, explaining Maven, etc. is more
> than we can do in an email.
>
> https://github.com/apache/curator/tree/master/curator-examples
>
> -Jordan
>
>
> On Mar 9, 2016, at 9:13 PM, s influxdb <elastic.l.k@gmail.com> wrote:
>
> 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