AnsweredAssumed Answered

Upgrade to 4.2.e R/W lock indexing problem

Question asked by cszamudio on Jan 9, 2014
Hi,
I've been attempting to upgrade from Community 4.2a to 4.2e.  I seem to be getting stuck during the initial indexing phase.  I did a clean install of 4.2e and am testing the configuration (i.e., the backed up data has not yet been restored).  I keep finding the server stalled in the middle of this step (from the alfresco.log file):

—————————————

12:15:58,593 INFO  [org.alfresco.repo.node.index.FullIndexRecoveryComponent] Index recovery started: 13 transactions.
12:15:58,593 INFO  [org.alfresco.repo.node.index.FullIndexRecoveryComponent]      10 % complete.
12:15:58,593 INFO  [org.alfresco.repo.node.index.FullIndexRecoveryComponent]      20 % complete.
12:15:58,593 INFO  [org.alfresco.repo.node.index.FullIndexRecoveryComponent]      30 % complete.

—————————————-

After waiting for about 30 minutes, I get the following error:

—————-
12:43:01,203 WARN  [org.alfresco.repo.node.index.AbstractReindexComponent.threads] org.alfresco.util.LockHelper$LockTryException: Failed to get lock java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock@a8ce0[Read locks = 0] in 100ms.
     at org.alfresco.util.LockHelper.tryLock(LockHelper.java:68)
     at org.alfresco.repo.dictionary.DictionaryDAOImpl.getDictionaryRegistry(DictionaryDAOImpl.java:1044)
     at org.alfresco.repo.dictionary.DictionaryDAOImpl.getDictionaryRegistry(DictionaryDAOImpl.java:1024)
     at org.alfresco.repo.dictionary.DictionaryDAOImpl.getUriToModels(DictionaryDAOImpl.java:1213)
     at org.alfresco.repo.dictionary.DictionaryDAOImpl.getModelsForUri(DictionaryDAOImpl.java:464)
     at org.alfresco.repo.dictionary.DictionaryDAOImpl.getType(DictionaryDAOImpl.java:579)
     at org.alfresco.repo.dictionary.DictionaryComponent.getType(DictionaryComponent.java:278)
     at org.alfresco.repo.search.impl.lucene.ADMLuceneIndexerImpl$3.doWork(ADMLuceneIndexerImpl.java:851)
     at org.alfresco.repo.search.impl.lucene.ADMLuceneIndexerImpl$3.doWork(ADMLuceneIndexerImpl.java:832)
     at org.alfresco.repo.security.authentication.AuthenticationUtil.runAs(AuthenticationUtil.java:548)
     at org.alfresco.repo.search.impl.lucene.ADMLuceneIndexerImpl.createDocumentsImpl(ADMLuceneIndexerImpl.java:831)
     at org.alfresco.repo.search.impl.lucene.ADMLuceneIndexerImpl.createDocuments(ADMLuceneIndexerImpl.java:726)
     at org.alfresco.repo.search.impl.lucene.ADMLuceneIndexerImpl$6.execute(ADMLuceneIndexerImpl.java:2247)
     at org.alfresco.repo.search.impl.lucene.ADMLuceneIndexerImpl$6.execute(ADMLuceneIndexerImpl.java:2243)
     at org.alfresco.repo.search.impl.lucene.AbstractLuceneIndexerImpl$1.execute(AbstractLuceneIndexerImpl.java:682)
     at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:452)
     at org.alfresco.repo.search.impl.lucene.AbstractLuceneIndexerImpl.doInReadthroughTransaction(AbstractLuceneIndexerImpl.java:667)
     at org.alfresco.repo.search.impl.lucene.ADMLuceneIndexerImpl.readDocuments(ADMLuceneIndexerImpl.java:2242)
     at org.alfresco.repo.search.impl.lucene.ADMLuceneIndexerImpl.flushPending(ADMLuceneIndexerImpl.java:1176)
     at org.alfresco.repo.search.impl.lucene.AbstractLuceneIndexerAndSearcherFactory.flush(AbstractLuceneIndexerAndSearcherFactory.java:884)
     at sun.reflect.GeneratedMethodAccessor231.invoke(Unknown Source)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     at java.lang.reflect.Method.invoke(Method.java:601)
     at org.alfresco.repo.service.StoreRedirectorProxyFactory$RedirectorInvocationHandler.invoke(StoreRedirectorProxyFactory.java:215)
     at $Proxy237.flush(Unknown Source)
     at org.alfresco.repo.search.IndexerComponent.flushPending(IndexerComponent.java:144)
     at org.alfresco.repo.node.index.AbstractReindexComponent$ReindexWorkerRunnable.beforeCommit(AbstractReindexComponent.java:1168)
     at org.alfresco.repo.transaction.AlfrescoTransactionSupport$TransactionSynchronizationImpl.doBeforeCommit(AlfrescoTransactionSupport.java:737)
     at org.alfresco.repo.transaction.AlfrescoTransactionSupport$TransactionSynchronizationImpl.doBeforeCommit(AlfrescoTransactionSupport.java:717)
     at org.alfresco.repo.transaction.AlfrescoTransactionSupport$TransactionSynchronizationImpl.beforeCommit(AlfrescoTransactionSupport.java:683)
     at org.springframework.transaction.support.TransactionSynchronizationUtils.triggerBeforeCommit(TransactionSynchronizationUtils.java:95)
     at org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerBeforeCommit(AbstractPlatformTransactionManager.java:927)
     at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:737)
     at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
     at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:393)
     at org.alfresco.util.transaction.SpringAwareUserTransaction.commit(SpringAwareUserTransaction.java:472)
     at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:474)
     at org.alfresco.repo.node.index.AbstractReindexComponent.doInRetryingTransaction(AbstractReindexComponent.java:289)
     at org.alfresco.repo.node.index.AbstractReindexComponent$ReindexWorkerRunnable.run(AbstractReindexComponent.java:1090)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
     at java.lang.Thread.run(Thread.java:722)

12:43:01,218 INFO  [org.alfresco.repo.node.index.FullIndexRecoveryComponent]      40 % complete.
12:43:01,218 INFO  [org.alfresco.repo.node.index.FullIndexRecoveryComponent]      50 % complete.
12:43:01,218 INFO  [org.alfresco.repo.node.index.FullIndexRecoveryComponent]      60 % complete.
12:43:01,218 INFO  [org.alfresco.repo.node.index.FullIndexRecoveryComponent]      70 % complete.
12:43:01,218 INFO  [org.alfresco.repo.node.index.FullIndexRecoveryComponent]      80 % complete.
12:43:01,218 INFO  [org.alfresco.repo.node.index.FullIndexRecoveryComponent]      90 % complete.
12:43:01,218 INFO  [org.alfresco.repo.node.index.FullIndexRecoveryComponent]      100 % complete.

———————–

In the alfresco-global.properties I have the index.recovery.mode=AUTO.

The lucene-indexes directory is created and appears to have the right structure.

I've tried uninstalling/installing a few times, but it's always stuck at the 30% complete.

In my configuration I am using the standard Lucene indexing, not SOLR (yet).

I've successfully performed a number of upgrades in the past, so I am familiar with the process. This time I'm stuck.

Thanks for any suggestions.

Carlos S. Zamudio

Outcomes