Project: springxd
Issue XD-2173: Shell does not report failed deploy attempt 
During the slow network tests the user undeployed a stream and then immediately redeployed the same stream to get the modules on different containers. The deployment failed as reflected in the stacktrace below from the admin server, however the the shell did not report an error and the user could not deploy the stream. * The stream in question is "http|log" * The Shell did not report any error. * Stream list does show the state of the stream as failed. * executing a stream deploy fails with the following error: ** Command failed org.springframework.xd.rest.client.impl.SpringXDException: The stream named 'foo' is already deployed * Undeploy and deploy of the stream worked. 17:54:39,487 INFO Deployer server.StreamDeploymentListener - Deployment status for stream 'foo': DeploymentStatus{state=failed,error(s)=org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode for /xd/deployments/modules/allocated/73f0a93d-e213-414d-8337-6c04409ec210/foo.source.http.1/status org.apache.zookeeper.KeeperException.create(KeeperException.java:111) org.apache.zookeeper.KeeperException.create(KeeperException.java:51) org.apache.zookeeper.ZooKeeper.getData(ZooKeeper.java:1155) org.apache.curator.framework.imps.GetDataBuilderImpl$4.call(GetDataBuilderImpl.java:302) org.apache.curator.framework.imps.GetDataBuilderImpl$4.call(GetDataBuilderImpl.java:291) org.apache.curator.RetryLoop.callWithRetry(RetryLoop.java:107) org.apache.curator.framework.imps.GetDataBuilderImpl.pathInForeground(GetDataBuilderImpl.java:287) org.apache.curator.framework.imps.GetDataBuilderImpl.forPath(GetDataBuilderImpl.java:279) org.apache.curator.framework.imps.GetDataBuilderImpl.forPath(GetDataBuilderImpl.java:41) org.springframework.xd.dirt.server.ModuleDeploymentWriter.writeDeployment(ModuleDeploymentWriter.java:205) org.springframework.xd.dirt.server.ModuleDeploymentWriter.writeDeployment(ModuleDeploymentWriter.java:163) org.springframework.xd.dirt.server.StreamDeploymentListener.deployStream(StreamDeploymentListener.java:166) org.springframework.xd.dirt.server.StreamDeploymentListener.onChildAdded(StreamDeploymentListener.java:100) org.springframework.xd.dirt.server.InitialDeploymentListener$EventHandler.call(InitialDeploymentListener.java:217) org.springframework.xd.dirt.server.InitialDeploymentListener$EventHandler.call(InitialDeploymentListener.java:186) java.util.concurrent.FutureTask.run(FutureTask.java:262) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) java.lang.Thread.run(Thread.java:745) } 17:54:39,496 INFO Deployer server.StreamDeploymentListener - Stream Stream{name='foo'} deployment attempt complete
Story points: 3