Sorry: 2.9.1 On Thu, Jul 21, 2016 at 4:35 PM, Alvaro Gareppe <[email protected]> wrote:
> The ZookeeperTestingServer was just a wrapper of the TestingServer > > I changed the code to use the TestingServer.. and the code is stuck in the > while (printing lines in the system out) > > The only difference is that I'm using curator 2.9... > > On Thu, Jul 21, 2016 at 4:27 PM, Scott Blum <[email protected]> wrote: > >> On 2.11 I see the same thing, the hang depends only on closing the ZK >> server. I don't see the TreeCache threads running. >> >> On Thu, Jul 21, 2016 at 3:26 PM, Scott Blum <[email protected]> >> wrote: >> >>> Hi Alvaro, I ran your example but I wasn't able to reproduce the problem >>> you're seeing on master. What exact version of Curator are you running? >>> >>> I did have to make one change, though. I don't have a >>> com.sac.panorama.zookeeper.server.junitserver.ZookeeperTestingServer, >>> so I replaced it with a org.apache.curator.test.TestingServer. When I >>> ran through your example, I found it DID hang, but not where you said. In >>> my run, TreeCache shutdown cleanly and the thread disappeared, but then >>> main() refused to exit because the ZK test server was still running. Add a >>> zk.close() to the end of main() allowed it to shutdown cleanly. I'll try >>> this on 2.11. >>> >>> On Thu, Jul 21, 2016 at 2:45 PM, Alvaro Gareppe <[email protected]> >>> wrote: >>> >>>> This is the case: >>>> There is not evan a listener defined ( not needed to reproduce the >>>> problem) >>>> If you see there.. the "Curator-TreeCache-0" is running even the >>>> tc.close() is already called. >>>> This code runs forever, >>>> >>>> *package* com.sac.panorama.zookeeper.examples; >>>> >>>> >>>> >>>> *import* java.util.Set; >>>> >>>> >>>> >>>> *import* org.apache.curator.framework.CuratorFramework; >>>> >>>> *import* org.apache.curator.framework.CuratorFrameworkFactory; >>>> >>>> *import* org.apache.curator.framework.recipes.cache.TreeCache; >>>> >>>> *import* org.apache.curator.retry.RetryForever; >>>> >>>> >>>> >>>> *import* >>>> com.sac.panorama.zookeeper.server.junitserver.ZookeeperTestingServer; >>>> >>>> >>>> >>>> *public* *class* DataWatcherCuratorExample { >>>> >>>> >>>> >>>> *public* *static* *void* main(String[] args) *throws* Exception { >>>> >>>> ZookeeperTestingServer zk; >>>> >>>> zk = *new* ZookeeperTestingServer(); >>>> >>>> zk.doStart(); >>>> >>>> CuratorFramework connection = CuratorFrameworkFactory. >>>> *newClient*(zk.getConnectString(), >>>> >>>> *new* RetryForever(10000)); >>>> >>>> >>>> >>>> connection.start(); >>>> >>>> >>>> >>>> >>>> >>>> connection.create().forPath("/test"); >>>> >>>> TreeCache tc = TreeCache.*newBuilder*(connection, "/test" >>>> ).setCacheData(*false*).setMaxDepth(1) >>>> >>>> .setCreateParentNodes(*false*).build(); >>>> >>>> >>>> >>>> *if* (*isThreadRunning*()) { >>>> >>>> *throw* *new* RuntimeException(""); // this is not thrown >>>> [OK] >>>> >>>> } >>>> >>>> >>>> >>>> tc.start(); >>>> >>>> >>>> >>>> tc.close(); >>>> >>>> >>>> >>>> System.*out*.println(); >>>> >>>> >>>> >>>> *while*(*isThreadRunning*()) { // this runns forever cause >>>> the thread "Curator-TreeCache" is not stopped after close >>>> >>>> Thread.*sleep*(1000); >>>> >>>> System.*out*.println(""); >>>> >>>> } >>>> >>>> >>>> >>>> connection.close(); >>>> >>>> } >>>> >>>> >>>> >>>> *private* *static* *boolean* isThreadRunning() { >>>> >>>> Set<Thread> runningThreads = Thread.*getAllStackTraces* >>>> ().keySet(); >>>> >>>> *boolean* threadFound = *false*; >>>> >>>> *for* (Thread thread : runningThreads) { >>>> >>>> *if* (thread.getName().startsWith("Curator-TreeCache") && >>>> thread.isAlive()) { >>>> >>>> threadFound = *true*; >>>> >>>> } >>>> >>>> } >>>> >>>> *return* threadFound; >>>> >>>> } >>>> >>>> } >>>> >>>> On Thu, Jul 21, 2016 at 2:48 PM, Scott Blum <[email protected]> >>>> wrote: >>>> >>>>> What's the thread doing? Can you grab a stack trace to see where it's >>>>> hung? >>>>> That thread is only used to publish events out to clients, maybe the >>>>> thread is hung in client code? >>>>> >>>>> On Thu, Jul 21, 2016 at 9:26 AM, Alvaro Gareppe <[email protected]> >>>>> wrote: >>>>> >>>>>> I just did the upgrate to the version 2.11 and the issue is still >>>>>> there. I still see the Curator-TreeCache-X after the TreeCache is >>>>>> closed. >>>>>> Any ideas ? >>>>>> >>>>>> On Thu, Jul 21, 2016 at 9:22 AM, Alvaro Gareppe <[email protected]> >>>>>> wrote: >>>>>> >>>>>>> Do you know if there is a thread issue with the TreeCache? Cause >>>>>>> after I call cache.close() the Curator-TreeCache-X thread is still >>>>>>> alive. >>>>>>> >>>>>>> On Tue, Jul 19, 2016 at 1:33 PM, Alvaro Gareppe <[email protected]> >>>>>>> wrote: >>>>>>> >>>>>>>> I changed the PathChildrenCache to TreeCache depth=1 and worked OK. >>>>>>>> >>>>>>>> Thanks guys! >>>>>>>> >>>>>>>> On Fri, Jul 15, 2016 at 6:03 PM, Scott Blum <[email protected]> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> TreeCache is read-only unless you specifically ask it to create >>>>>>>>> the root node. Use depth=1 to watch only a single node. >>>>>>>>> >>>>>>>>> On Thu, Jul 14, 2016 at 5:46 PM, Cameron McKenzie < >>>>>>>>> [email protected]> wrote: >>>>>>>>> >>>>>>>>>> I don't have the code handy, but have you tried TreeCache? >>>>>>>>>> >>>>>>>>>> On 14 Jul 2016 11:31 PM, "Alvaro Gareppe" <[email protected]> >>>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>>> Is there a way to avoid the node creation on PathChildrenCache >>>>>>>>>>> start() ? >>>>>>>>>>> >>>>>>>>>>> I have this case >>>>>>>>>>> >>>>>>>>>>> 1.- There is no node in ZK >>>>>>>>>>> 2.- I do this: >>>>>>>>>>> cp = new PathChildrenCache(conn, "/a", >>>>>>>>>>> PathChildrenCache.CACHE_PATH_ONLY); >>>>>>>>>>> cp.start() >>>>>>>>>>> 3.- now I have a node /a in ZK >>>>>>>>>>> >>>>>>>>>>> Im using the pathCache in a different thread (and possibly >>>>>>>>>>> different server) of the node creation, so I would like to have an >>>>>>>>>>> option >>>>>>>>>>> where the node is not created, so it does nothing or throws and >>>>>>>>>>> exception >>>>>>>>>>> in that case (both works for me). >>>>>>>>>>> >>>>>>>>>>> Is there some way to configure the PathChildrenCache to do so ? >>>>>>>>>>> >>>>>>>>>>> I'm using curator version: 2.9.1 >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Ing. Alvaro Gareppe >>>>>>>>>>> [email protected] >>>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Ing. Alvaro Gareppe >>>>>>>> [email protected] >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Ing. Alvaro Gareppe >>>>>>> [email protected] >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Ing. Alvaro Gareppe >>>>>> [email protected] >>>>>> >>>>> >>>>> >>>> >>>> >>>> -- >>>> Ing. Alvaro Gareppe >>>> [email protected] >>>> >>> >>> >> > > > -- > Ing. Alvaro Gareppe > [email protected] > -- Ing. Alvaro Gareppe [email protected]
