Post

4 followers Follow
0
Avatar

ssh timeout and deployment fails in xld, but process continues on remote server

Hello,

 

Deployment fails due to ssh timeout. I found some wierd issue last nyt in xld, during deployment if there is a process on server taking time to execute. The ssh gets timeout and fails the deployment on xldeploy. But the deployment continues on server. 

I am using Interactive sudo and user as sudo user as oracle. Can you please let me know where can i increase the ssh session timeout and keep the session alive until the deployment completes on server.  

 

Below is the error : 

Step failed

com.xebialabs.overthere.RuntimeIOException: Caught exception while awaiting end of process for command [cd /tmp/ot-20171122T011111541/generic_plugin.tmp ; sudo -u oracle /tmp/ot-20171122T011111541/generic_plugin.tmp/file.sh] on [ssh:interactive_sudo://xldeply:oracle@server01:22]
at com.xebialabs.overthere.ssh.SshProcess.waitFor(SshProcess.java:99)
at com.xebialabs.overthere.spi.BaseOverthereConnection.execute(BaseOverthereConnection.java:286)
at com.xebialabs.deployit.plugin.generic.step.BaseExecutionStep.executeScript(BaseExecutionStep.java:213)
at com.xebialabs.deployit.plugin.generic.step.BaseExecutionStep.doExecute(BaseExecutionStep.java:101)
at com.xebialabs.deployit.plugin.generic.step.BaseStep.handleExecute(BaseStep.java:88)
at com.xebialabs.deployit.plugin.generic.step.ScriptExecutionStep.execute(ScriptExecutionStep.java:24)
at com.xebialabs.deployit.engine.tasker.StepExecutingActor$$anonfun$1$$anonfun$apply$3.apply(StepExecutingActor.scala:128)
at com.xebialabs.deployit.engine.tasker.MdcUtils$.withMdc(MdcUtils.scala:16)
at com.xebialabs.deployit.engine.tasker.StepExecutingActor$$anonfun$1.apply(StepExecutingActor.scala:117)
at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24)
at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24)
at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:39)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: net.schmizz.sshj.connection.ConnectionException: Broken transport; encountered EOF
at net.schmizz.sshj.connection.ConnectionException$1.chain(ConnectionException.java:32)
at net.schmizz.sshj.connection.ConnectionException$1.chain(ConnectionException.java:26)
at net.schmizz.concurrent.Promise.deliverError(Promise.java:96)
at net.schmizz.concurrent.Event.deliverError(Event.java:74)
at net.schmizz.concurrent.ErrorDeliveryUtil.alertEvents(ErrorDeliveryUtil.java:34)
at net.schmizz.sshj.connection.channel.AbstractChannel.notifyError(AbstractChannel.java:238)
at net.schmizz.sshj.connection.channel.direct.SessionChannel.notifyError(SessionChannel.java:229)
at net.schmizz.sshj.common.ErrorNotifiable$Util.alertAll(ErrorNotifiable.java:35)
at net.schmizz.sshj.connection.ConnectionImpl.notifyError(ConnectionImpl.java:258)
at net.schmizz.sshj.transport.TransportImpl.die(TransportImpl.java:601)
at net.schmizz.sshj.transport.Reader.run(Reader.java:67)
Caused by: net.schmizz.sshj.transport.TransportException: Broken transport; encountered EOF
at net.schmizz.sshj.transport.Reader.run(Reader.java:57)

 

 

 

Thanks 

Sikandar

Please sign in to leave a comment.

6 comments

1
Avatar

Hello Sikendar,

You can uncomment the below line in XLD_home/conf/deployit-default.properties file and try to increase the connectionTimeout value -

overthere.SshHost.connectionTimeoutMillis=1200000

It currently defaults to 1200 seconds (20 minutes). Modify to a value to your liking, then restart the server.

Regards,

Adam

Adam Adrianson 1 vote
0
Avatar

Thanks so much Adam. That works :) 

Just curious, does this timeout will rule for complete deployment on remote server or only during ssh connection at the very first time?? 

Sikandar 0 votes
0
Avatar

That timeout will apply to every ssh connection that XLD initiates - file uploads and commands.

Adam Adrianson 0 votes
0
Avatar

Ok what makes sense here is to have this uncommented and I get all this.

But the name Millis, are we sure this is in seconds?

 

Kevin

 

Kevin McAllorum 0 votes
0
Avatar

It is milliseconds. I had converted to seconds and then minutes for purposes of discussion. And it looks like my con ersion was incorrect. It is 2 minutes, not 20.

Adam Adrianson 0 votes