Action Impersonating user - Sleep, Null and/or Connection timed out Exceptions

book

Article ID: 143238

calendar_today

Updated On:

Products

CA Release Automation - Release Operations Center (Nolio) CA Release Automation - DataManagement Server (Nolio)

Issue/Introduction

Running the "Get File Or Folder From Remote Agent" action while trying to impersonate another user returns the following error: 

./nolio_all.log: 2020-01-14 08:58:04,142 [job-3568249-jobServer-3870782-6:Get File Or Folder From Remote Agent(P29340956.F29340960.E29340961):Get File Or Folder From Remote Agent] WARN  (com.nolio.platform.shared.datamodel.execution.remote.ProcessesInvoker:413) - sleep in
terrupted
java.lang.InterruptedException: sleep interrupted
        at java.lang.Thread.sleep(Native Method)
        at com.nolio.platform.shared.datamodel.execution.remote.ProcessesInvoker.waitForClient(ProcessesInvoker.java:411)
        at com.nolio.platform.shared.datamodel.execution.remote.ProcessesInvoker.createProcessIfNeeded(ProcessesInvoker.java:298)
        at com.nolio.platform.shared.datamodel.execution.remote.ProcessesInvoker.runExecutableOnRemoteProcess(ProcessesInvoker.java:253)
        at com.nolio.platform.shared.datamodel.ActionExecutionState.remoteProcessExecution(ActionExecutionState.java:330)
        at com.nolio.platform.shared.datamodel.ActionExecutionState.access$400(ActionExecutionState.java:45)
        at com.nolio.platform.shared.datamodel.ActionExecutionState$2.execAction(ActionExecutionState.java:128)
        at com.nolio.platform.shared.datamodel.ActionExecutionState.exec(ActionExecutionState.java:401)
        at com.nolio.platform.shared.datamodel.Action.run(Action.java:229)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at com.nolio.platform.shared.flowcontrol.LocalFlowController$JobBoundThreadFactory$1.run(LocalFlowController.java:804)
        at java.lang.Thread.run(Thread.java:745)

 

There are other messages after this Interrupt Exception. In particular it might be worth noting the following NullPointerException:

./nolio_all.log: 2020-01-14 08:59:44,404 [job-3568249-jobServer-3870782-6:Get File Or Folder From Remote Agent(P29340956.F29340960.E29340961):Get File Or Folder From Remote Agent] ERROR (com.nolio.platform.shared.log.LogExecutionEntity:35) - failed to write to applicative log the entityApplicativeLogAction{type='Get File Or Folder From Remote Agent', name='Get File Or Folder From Remote Agent(P29340956.F29340960.E29340961)'}
java.lang.NullPointerException
        at com.nolio.platform.shared.log.LogExecutionEntity.generateLogBlock(LogExecutionEntity.java:32)
        at com.nolio.platform.shared.datamodel.ActionExecutionState.writeToLog(ActionExecutionState.java:393)
        at com.nolio.platform.shared.datamodel.ActionExecutionState.remoteProcessExecution(ActionExecutionState.java:343)
        at com.nolio.platform.shared.datamodel.ActionExecutionState.access$400(ActionExecutionState.java:45)
        at com.nolio.platform.shared.datamodel.ActionExecutionState$2.execAction(ActionExecutionState.java:128)
        at com.nolio.platform.shared.datamodel.ActionExecutionState.exec(ActionExecutionState.java:401)
        at com.nolio.platform.shared.datamodel.Action.run(Action.java:229)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at com.nolio.platform.shared.flowcontrol.LocalFlowController$JobBoundThreadFactory$1.run(LocalFlowController.java:804)
        at java.lang.Thread.run(Thread.java:745)

 

And finally it follows with some Exceptions we have seen before (covered here: https://ca-broadcom.wolkenservicedesk.com/external/article?articleId=37292), such as: 

./nolio_all.log: 2020-01-14 09:00:12,662 [main] ERROR (root:195) - [xpcara01] error occurred
java.net.ConnectException: Connection timed out
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
        at java.net.Socket.connect(Socket.java:589)
        at java.net.Socket.connect(Socket.java:538)
        at java.net.Socket.<init>(Socket.java:434)
        at java.net.Socket.<init>(Socket.java:211)
        at com.nolio.platform.shared.datamodel.execution.remote.ActionsRunner.init(ActionsRunner.java:183)
        at com.nolio.platform.shared.datamodel.execution.remote.ActionsRunner.main(ActionsRunner.java:107)

 

and:

./nolio_all.log: 2020-01-14 09:00:12,724 [Thread-14] ERROR (com.nolio.platform.shared.datamodel.execution.remote.ConsolidationLogger:98) - Error while handling remote logging
java.io.EOFException
        at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2608)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1319)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371)
        at com.nolio.platform.shared.datamodel.execution.remote.ConsolidationLogger$ClientLoggerHolder.run(ConsolidationLogger.java:87)
        at java.lang.Thread.run(Thread.java:745)

 

 

Cause

The cause is still not clear at this time. But it may have something to do with the specific action (Get File Or Folder From Remote Agent).

 

Environment

Release : 6.5

Component : CA RELEASE AUTOMATION RELEASE OPERATIONS CENTER

Resolution

Recommendation is to open an issue if you're experiencing this problem. This might involve understanding the use case better and what the intended goal is, of using that action while impersonating another user, vs using a different action (like "Get File (SSH)").