AnsweredAssumed Answered

Issue querying for files using OpenCMIS

Question asked by lukasv on Jun 28, 2012
We are using Alfresco Community v4.0.0(4003) schema 5025 (WAR only) and Solr.  Earlier today we had a problem with retrieving files via OpenCMIS where Alfresco was unable to retrieve the file information, but the files appeared fine via Alfresco Share and WebDAV.

We have had some trouble with Alfresco and Solr in the past, so I tried to execute a commit command via the web service with:
http://alfserver:8080/solr/alfresco/update?stream.body=%3Ccommit%20expungeDeletes=%22true%22%20softCommit=%22true%22/%3E
That resulted in the following error:
HTTP Status 500 - Lock obtain timed out: NativeFSLock@/opt/tomcat/alfresco/alf_data/solr/workspace/SpacesStore/index/lucene-027098a6610d14b20c5106e3c71bc473-write.lock org.apache.lucene.store.LockObtainFailedException: Lock obtain timed out: NativeFSLock@/opt/tomcat/alfresco/alf_data/solr/workspace/SpacesStore/index/lucene-027098a6610d14b20c5106e3c71bc473-write.lock at org.apache.lucene.store.Lock.obtain(Lock.java:85) at org.apache.lucene.index.IndexWriter.init(IndexWriter.java:1565) at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:1421) at org.apache.solr.update.SolrIndexWriter.<init>(SolrIndexWriter.java:191) at org.apache.solr.update.UpdateHandler.createMainIndexWriter(UpdateHandler.java:98) at org.alfresco.solr.AlfrescoUpdateHandler.openWriter(AlfrescoUpdateHandler.java:229) at org.alfresco.solr.AlfrescoUpdateHandler.commit(AlfrescoUpdateHandler.java:590) at org.apache.solr.update.processor.RunUpdateProcessor.processCommit(RunUpdateProcessorFactory.java:85) at org.apache.solr.handler.XMLLoader.processUpdate(XMLLoader.java:169) at org.apache.solr.handler.XMLLoader.load(XMLLoader.java:69) at org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:54) at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131) at org.apache.solr.core.SolrCore.execute(SolrCore.java:1316) at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:338) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:241) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:470) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:662) 

Rebuilding the Solr indexes seems to have gotten rid of that error, but we still can't query for files in the problem folder via OpenCMIS.  I noticed this error repeated a few times in the alfresco.log file:
11:53:14,876 ERROR [org.apache.chemistry.opencmis.server.impl.atompub.CmisAtomPubServlet] Object Info is missing!
org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException: Object Info is missing!
   at org.apache.chemistry.opencmis.server.impl.atompub.NavigationService.getObjectParents(NavigationService.java:368)
   at sun.reflect.GeneratedMethodAccessor516.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.apache.chemistry.opencmis.server.shared.Dispatcher.dispatch(Dispatcher.java:83)
   at org.apache.chemistry.opencmis.server.impl.atompub.CmisAtomPubServlet.dispatch(CmisAtomPubServlet.java:218)
   at org.apache.chemistry.opencmis.server.impl.atompub.CmisAtomPubServlet.service(CmisAtomPubServlet.java:167)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at org.alfresco.web.app.servlet.GlobalLocalizationFilter.doFilter(GlobalLocalizationFilter.java:58)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
   at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:470)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
   at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
   at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
   at java.lang.Thread.run(Thread.java:662)

As a temporary work around, we just deleted the problem folder and recreated it, but it's troublesome that this happened in the first place, and I don't know how to prevent it in the future. We've had similar issues in other environments.

Any thoughts as to what causes this?

Thanks!

Outcomes