Project: springxd
Issue XD-1959: NoNodeException after bouncing admin server
Steps to reproduce: h6. 1. Clear out ZK {code} [zk: localhost:2181(CONNECTED) 0] rmr /xd {code} h6. 2. Start admin h6. 3. Deploy stream {code} xd:>stream create --name tt --definition "time|log" --deploy {code} Admin log: {code} 16:38:10,537 INFO Deployer server.StreamDeploymentListener - Deploying stream Stream{name='tt'} 16:38:10,545 WARN Deployer server.StreamDeploymentListener - No containers available for deployment of module 'log' for stream 'tt' 16:38:10,547 WARN Deployer server.StreamDeploymentListener - No containers available for deployment of module 'time' for stream 'tt' 16:38:10,547 INFO Deployer server.StreamDeploymentListener - Deployment status for stream 'tt': DeploymentStatus{state=failed} 16:38:10,550 INFO Deployer server.StreamDeploymentListener - Stream Stream{name='tt'} deployment attempt complete {code} h6. 4. Shut down and restart admin. The following is logged: {code} org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode for /xd/deployments/streams/tt/modules org.apache.zookeeper.KeeperException.create(KeeperException.java:111) org.apache.zookeeper.KeeperException.create(KeeperException.java:51) org.apache.zookeeper.ZooKeeper.getChildren(ZooKeeper.java:1590) org.apache.curator.framework.imps.GetChildrenBuilderImpl$3.call(GetChildrenBuilderImpl.java:214) org.apache.curator.framework.imps.GetChildrenBuilderImpl$3.call(GetChildrenBuilderImpl.java:203) org.apache.curator.RetryLoop.callWithRetry(RetryLoop.java:107) org.apache.curator.framework.imps.GetChildrenBuilderImpl.pathInForeground(GetChildrenBuilderImpl.java:199) org.apache.curator.framework.imps.GetChildrenBuilderImpl.forPath(GetChildrenBuilderImpl.java:191) org.apache.curator.framework.imps.GetChildrenBuilderImpl.forPath(GetChildrenBuilderImpl.java:38) org.springframework.xd.dirt.server.StreamDeploymentListener.recalculateStreamStates(StreamDeploymentListener.java:207) org.springframework.xd.dirt.server.DeploymentSupervisor$LeaderListener.takeLeadership(DeploymentSupervisor.java:352) org.apache.curator.framework.recipes.leader.LeaderSelector$WrappedListener.takeLeadership(LeaderSelector.java:536) org.apache.curator.framework.recipes.leader.LeaderSelector.doWork(LeaderSelector.java:398) org.apache.curator.framework.recipes.leader.LeaderSelector.doWorkLoop(LeaderSelector.java:443) org.apache.curator.framework.recipes.leader.LeaderSelector.access$100(LeaderSelector.java:63) org.apache.curator.framework.recipes.leader.LeaderSelector$2.call(LeaderSelector.java:244) org.apache.curator.framework.recipes.leader.LeaderSelector$2.call(LeaderSelector.java:238) java.util.concurrent.FutureTask.run(FutureTask.java:266) java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) java.util.concurrent.FutureTask.run(FutureTask.java:266) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) java.lang.Thread.run(Thread.java:744) {code}
Story points: 1