Server Stalls On Startup in a Call To Method ConfigStatePersister.acquireLock() (Doc ID 1361997.1)

Last updated on NOVEMBER 12, 2015

Applies to:

Oracle Commerce Merchandising - Version 9.1 and later
Oracle Commerce Platform - Version 9.1 and later
Information in this document applies to any platform.

Symptoms

One or more server instances fails to startup. When this problem is encountered, the system never prints out its "Nucleus running..." message onto the console. The normal log output from a starting server does not appear in the logs or on the console.

An example from a JBoss log may be:

2011-11-03 11:33:03,283 INFO [PoolSerialNumberDistributor] Startup Complete
2011-11-03 11:33:03,611 INFO [CatalogChangesListener] Resolving reference to /atg/commerce/catalog/custom/CatalogChangesListener
### no further output, "Nucleus running" never appears


Another example from a JBoss log may be:

11:45:42,671 INFO [IncrementalItemQueueRepository] SQL Repository startup complete
### no further output, "Nucleus running" never appears


Users will be unable to access any pages on this instance.

A thread dump of the instance will show that the main thread has a stack trace like the following (this example is from WebLogic, but the ATG calls will be very similar with the call to acquireWriteLock waiting):

"[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=10 tid=0x00002aaab8257800 nid=0x22c in Object.wait() [0x0000000041c73000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000007c07ec300> (a atg.service.lockmanager.ClientLockEntry)
at atg.service.lockmanager.ClientLockEntry.acquireWriteLock(ClientLockEntry.java:399)
- locked <0x00000007c07ec300> (a atg.service.lockmanager.ClientLockEntry)
at atg.service.lockmanager.ClientLockManager.acquireWriteLock(ClientLockManager.java:1137)
at atg.repository.search.indexing.ConfigStatePersister.acquireLock(ConfigStatePersister.java:1627)
at atg.repository.search.indexing.ConfigStatePersister$IndexingReadLockedTransactionAction.doWithTransaction(ConfigStatePersister.java:1857)
at atg.repository.search.indexing.ConfigStatePersister.releaseAllConfigurations(ConfigStatePersister.java:1387)
at atg.repository.search.indexing.ConfigStatePersister.performAction(ConfigStatePersister.java:1559)
at atg.nucleus.Nucleus.performPostStartupActions(Nucleus.java:4367)
at atg.nucleus.Nucleus.performPostStartupActions(Nucleus.java:4354)
at atg.nucleus.Nucleus.<init>(Nucleus.java:959)
at atg.nucleus.Nucleus.<init>(Nucleus.java:695)


This can happen for any instance running the DAF.Search.Index module. This includes the SearchAdmin, production indexing instance, and for CSC order indexing, any production instance.

Changes

This may happen after a server has crashed or been stopped improperly.

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms