Page tree
Skip to end of metadata
Go to start of metadata

Category:Deployment failed
Category:Cannot start deployment

Problem

Already started operation with application sap.com/TEST in the cluster. No other operation with this application is allowed at the moment

Keywords

  • Application is locked
  • Enqueue lock already exists

Symptoms

During deployment the following error appears:

Already started operation with application sap.com/TEST in the cluster. No other operation with this application is allowed at the moment.

Solution

1) Determine, which server node created the lock, using Telnet:

  • Connect to server
  • Type add locking to add locking group
  • Type show_locks to get a list with all current locks

You will see the host name, the server node ID in the cluster, Deploy Service Identifier and the application name.

I2006101717104206800000SOFD60135707A..............29826450

X

1

$services.deploy

sap.com/Hello

In this example the host name is SOFD60135707A, the server node ID is 29826450, the Deploy Service Identifier is $services.deploy, and the application name is sap.com/Hello.

If you are not able to find such lock record this means that the operation started with this application is already completed. In this case just try to redeploy.

If you are able to find lock record as the one described above, then try to unlock the application manually.

To unlock the application manually:

  • Connect to server using Telnet
  • Type unlock_app <applicationName> to unlock the application where <applicationName> is the application name.

After the application is unlocked (check this by typing show_locks in Telnet console), try to redeploy again.

If the application is still locked, continue with the next step.

2) Dump the threads on the node(s), on which the application is locked. In the "Full Thread Dump" section check for threads, which are in classes with package ".engine.services.deploy.". The thread dump section you have to check is looking like this:

Full thread dump SAP Java Server VM (1.5.0_07-b00 Aug 15 2006 01:19:55 - BCO33 - opt - extension version: 10 (mixed mode)):

"JarmCondense" daemon cpu=10.01 ms allocated memory=89.02 kB (91160 B) prio=6 tid=0x57c90800 nid=0x18c in Object.wait() (0x5fc6f000..0x5fc6fa20)
at java.lang.Object.wait(Native Method)

  • waiting on <0x0974a630> (a java.lang.Object)
    at com.sap.util.monitor.jarm.CondenseThread.threadShouldContinue(CondenseThread.java:227)
  • locked <0x0974a630> (a java.lang.Object)
    at com.sap.util.monitor.jarm.CondenseThread.run(CondenseThread.java:206)
    at java.lang.Thread.run(Thread.java:595)

"Thread-45" cpu=0.00 ms allocated memory=633.50 kB (648704 B) prio=6 tid=0x5dd41610 nid=0xe90 at breakpoint(0x601af000..0x601afba0)
at com.sap.engine.services.deploy.server.utils.LockUtils.getServerInternalLocking()Lcom/sap/engine/frame/core/locking/ServerInternalLocking;(LockUtils.java:69)
at com.sap.engine.services.deploy.server.utils.LockUtils.lock([Ljava/lang/String;[CI)V(LockUtils.java:51)
at com.sap.engine.services.deploy.server.utils.LockUtils.lockAndWait(Ljava/lang/String;CI)V(LockUtils.java:34)
at com.sap.engine.services.deploy.server.TransactionManager.lockApplication(Ljava/lang/String;Ljava/lang/String;CZ)V(TransactionManager.java:120)
at com.sap.engine.services.deploy.server.TransactionManager.registerTransactionWithLock(Lcom/sap/engine/services/deploy/server/DTransaction;CZ)V(TransactionManager.java:64)
at com.sap.engine.services.deploy.server.DeployServiceImpl.registerTransactionWithLock(Lcom/sap/engine/services/deploy/server/DTransaction;)V(DeployServiceImpl.java:1541)
at com.sap.engine.services.deploy.server.DeployServiceImpl.startOrStopApplication(Ljava/lang/String;Ljava/util/Properties;[Ljava/lang/String;Z)V(DeployServiceImpl.java:1030)
at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplication(Ljava/lang/String;[Ljava/lang/String;)V(DeployServiceImpl.java:963)
at com.sap.engine.services.deploy.command.StartApplicationCommand.exec(Lcom/sap/engine/interfaces/shell/Environment;Ljava/io/InputStream;Ljava/io/OutputStream;[Ljava/lang/String;)V(StartApplicationCommand.java:157)
at com.sap.engine.services.shell.processor.environment.CommandBase.exec(Lcom/sap/engine/services/shell/processor/environment/EnvironmentImpl;)V(CommandBase.java:132)
at com.sap.engine.services.shell.processor.Interpreter.applyLineCommand(Lcom/sap/engine/services/shell/processor/node/Statement;)V(Interpreter.java:391)
at com.sap.engine.services.shell.processor.Interpreter.apply(Lcom/sap/engine/services/shell/processor/node/Statement;)V(Interpreter.java:150)
at com.sap.engine.services.shell.processor.Shell.work()V(Shell.java:148)
at com.sap.engine.services.shell.processor.managers.ShellProcessThread.run()V(ShellProcessThread.java:114)

"Thread-43" cpu=0.00 ms allocated memory=0 B  prio=6 tid=0x579830b0 nid=0x1170 in Object.wait() (0x5fc2f000..0x5fc2faa0)
 	at java.lang.Object.wait(Native Method)
 	- waiting on <0x0dd8af70> (a com.sun.corba.se.impl.javax.rmi.CORBA.KeepAlive)
 	at java.lang.Object.wait(Object.java:474)
 	at com.sun.corba.se.impl.javax.rmi.CORBA.KeepAlive.run(Util.java:736)
 	- locked <0x0dd8af70> (a com.sun.corba.se.impl.javax.rmi.CORBA.KeepAlive)
"DSR_Write_Rate_Monitor: SOFD60135707A_N34_29826450" cpu=0.00 ms allocated memory=0 B  prio=6 tid=0x5760a3e0 nid=0x1e7c waiting on condition (0x5fbef000..0x5fbefb20)
 	at java.lang.Thread.sleep(Native Method)
 	at com.sap.jdsr.frame.DSRComponentImpl0$SubmitRateMonitor.run(DSRComponentImpl0.java:1588)

If there are NO such threads, check using Telnet if the lock it still there.

To fix the problem repeat Step 1). Otherwise go to next step.
3) If in point 2) there are such threads and the lock is still there and if we are NOT in parallel environment -

then we have to wait the thread related to the deployment area to finish its work and try to redeploy later. Otherwise if there is parallel environment look into the next step.
Note: Parallel environment is more likely to be the case when we do not use the local server to deploy but rather some Central system which many users can access simultaneously.

4) If in point 2) there are such threads and the lock is still there and if we are in parallel environment:

  • Increase the severity for location com.sap.engine.services.deploy.
  • Try to reproduce the issue
  • Check the server trace and log files for Error and Warning messages.
  • Check for exceptions, where classes with package .engine.services.deploy. are involved.

If you are not able to locate the problem and fix it, go to next step.

5) Please, create CSN message under the component "BC-JAS-COR" following "How To Report Problems" instructions - to request additional debug information from used locking API (contact Jochen Mueller(D039760) and Rouslan Nabokov)

Sample logs

N/A

Related SAP Notes

N/A

  • No labels