HI Elad, Could you call com.tinkerpop.blueprints.impls.orient.OrientBaseGraph#clearInitStack you have thread pool which causes such side efffects. We need to fix this issue any way, if problem on our side.
But to be sure that it is a bug, could you double check that you call graph.shutdown() after each acquire of graph instance ? On Mon, Feb 2, 2015 at 11:05 AM, Elad <[email protected]> wrote: > Any advice for this issue? > > > On Thursday, January 29, 2015 at 11:38:22 AM UTC+2, Elad wrote: >> >> Hi, >> I got the same error on orientdb 2.0.1 with rexster 2.6.0, it happend >> when I run 2 processes one inserts and the other retrieves. >> >> [ERROR] GremlinExtension - Gremlin Extension: Error on retrieving record >> #9:298880 (cluster: v) >> com.orientechnologies.orient.core.exception.ODatabaseException: Error on >> retrieving record #9:298880 (cluster: v) >> at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx. >> executeReadRecord(ODatabaseDocumentTx.java:1602) >> at com.orientechnologies.orient.core.tx.OTransactionOptimistic. >> loadRecord(OTransactionOptimistic.java:226) >> at com.orientechnologies.orient.core.db.document. >> ODatabaseDocumentTx.load(ODatabaseDocumentTx.java:1421) >> at com.orientechnologies.orient.core.db.document. >> ODatabaseDocumentTx.load(ODatabaseDocumentTx.java:117) >> at com.orientechnologies.orient.core.id.ORecordId.getRecord( >> ORecordId.java:313) >> at com.tinkerpop.blueprints.impls.orient.OrientEdgeIterator. >> createWrapper(OrientEdgeIterator.java:61) >> at com.tinkerpop.blueprints.impls.orient.OrientEdgeIterator. >> createWrapper(OrientEdgeIterator.java:39) >> at com.orientechnologies.orient.core.iterator. >> OLazyWrapperIterator.hasNext(OLazyWrapperIterator.java:79) >> at com.orientechnologies.common.collection.OMultiCollectionIterator. >> hasNext(OMultiCollectionIterator.java:78) >> at com.tinkerpop.blueprints.util.DefaultVertexQuery$ >> DefaultVertexQueryIterable$1.loadNext(DefaultVertexQuery.java:163) >> at com.tinkerpop.blueprints.util.DefaultVertexQuery$ >> DefaultVertexQueryIterable$1.hasNext(DefaultVertexQuery.java:123) >> at com.tinkerpop.pipes.transform.VertexQueryPipe.processNextStart( >> VertexQueryPipe.java:79) >> at com.tinkerpop.pipes.transform.VertexQueryPipe.processNextStart( >> VertexQueryPipe.java:19) >> at com.tinkerpop.pipes.AbstractPipe.next(AbstractPipe.java:89) >> at com.tinkerpop.pipes.transform.VertexQueryPipe.processNextStart( >> VertexQueryPipe.java:85) >> at com.tinkerpop.pipes.transform.VertexQueryPipe.processNextStart( >> VertexQueryPipe.java:19) >> at com.tinkerpop.pipes.AbstractPipe.next(AbstractPipe.java:89) >> at com.tinkerpop.pipes.transform.VertexQueryPipe.processNextStart( >> VertexQueryPipe.java:85) >> at com.tinkerpop.pipes.transform.VertexQueryPipe.processNextStart( >> VertexQueryPipe.java:19) >> at com.tinkerpop.pipes.AbstractPipe.next(AbstractPipe.java:89) >> at com.tinkerpop.pipes.filter.CollectionFilterPipe.processNextStart( >> CollectionFilterPipe.java:35) >> at com.tinkerpop.pipes.AbstractPipe.next(AbstractPipe.java:89) >> at com.tinkerpop.pipes.filter.CollectionFilterPipe.processNextStart( >> CollectionFilterPipe.java:35) >> at com.tinkerpop.pipes.AbstractPipe.next(AbstractPipe.java:89) >> at com.tinkerpop.pipes.filter.DuplicateFilterPipe.processNextStart( >> DuplicateFilterPipe.java:34) >> at com.tinkerpop.pipes.AbstractPipe.next(AbstractPipe.java:89) >> at com.tinkerpop.pipes.util.AsPipe.processNextStart(AsPipe.java:42) >> at com.tinkerpop.pipes.AbstractPipe.next(AbstractPipe.java:89) >> at com.tinkerpop.pipes.transform.SelectPipe.processNextStart( >> SelectPipe.java:54) >> at com.tinkerpop.pipes.transform.SelectPipe.processNextStart( >> SelectPipe.java:21) >> at com.tinkerpop.pipes.AbstractPipe.hasNext(AbstractPipe.java:98) >> at com.tinkerpop.pipes.util.Pipeline.hasNext(Pipeline.java:105) >> at com.tinkerpop.rexster.gremlin.converter.JSONResultConverter. >> convert(JSONResultConverter.java:65) >> at com.tinkerpop.rexster.gremlin.converter.JSONResultConverter. >> convert(JSONResultConverter.java:40) >> at com.tinkerpop.rexster.gremlin.converter.JSONResultConverter. >> prepareOutput(JSONResultConverter.java:128) >> at com.tinkerpop.rexster.gremlin.converter.JSONResultConverter. >> convert(JSONResultConverter.java:67) >> at com.tinkerpop.rexster.gremlin.GremlinExtension. >> tryExecuteGremlinScript(GremlinExtension.java:278) >> at com.tinkerpop.rexster.gremlin.GremlinExtension.evaluatePostOnGraph( >> GremlinExtension.java:193) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at sun.reflect.NativeMethodAccessorImpl.invoke( >> NativeMethodAccessorImpl.java:57) >> at sun.reflect.DelegatingMethodAccessorImpl.invoke( >> DelegatingMethodAccessorImpl.java:43) >> at java.lang.reflect.Method.invoke(Method.java:606) >> at com.tinkerpop.rexster.AbstractSubResource.invokeExtension( >> AbstractSubResource.java:322) >> at com.tinkerpop.rexster.AbstractSubResource.invokeExtension( >> AbstractSubResource.java:229) >> at com.tinkerpop.rexster.GraphResource.executeGraphExtension( >> GraphResource.java:281) >> at com.tinkerpop.rexster.GraphResource.postGraphExtension( >> GraphResource.java:201) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at sun.reflect.NativeMethodAccessorImpl.invoke( >> NativeMethodAccessorImpl.java:57) >> at sun.reflect.DelegatingMethodAccessorImpl.invoke( >> DelegatingMethodAccessorImpl.java:43) >> at java.lang.reflect.Method.invoke(Method.java:606) >> at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke( >> JavaMethodInvokerFactory.java:60) >> at com.sun.jersey.server.impl.model.method.dispatch. >> AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch( >> AbstractResourceMethodDispatchProvider.java:205) >> at com.sun.jersey.server.impl.model.method.dispatch. >> ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher. >> java:75) >> at com.codahale.metrics.jersey.InstrumentedResourceMethodDisp >> atchProvider$TimedRequestDispatcher.dispatch( >> InstrumentedResourceMethodDispatchProvider.java:30) >> at com.sun.jersey.server.impl.uri.rules.HttpMethodRule. >> accept(HttpMethodRule.java:302) >> at com.sun.jersey.server.impl.uri.rules.RightHandPathRule. >> accept(RightHandPathRule.java:147) >> at com.sun.jersey.server.impl.uri.rules.ResourceClassRule. >> accept(ResourceClassRule.java:108) >> at com.sun.jersey.server.impl.uri.rules.RightHandPathRule. >> accept(RightHandPathRule.java:147) >> at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept( >> RootResourceClassesRule.java:84) >> at com.sun.jersey.server.impl.application.WebApplicationImpl._ >> handleRequest(WebApplicationImpl.java:1511) >> at com.sun.jersey.server.impl.application.WebApplicationImpl._ >> handleRequest(WebApplicationImpl.java:1442) >> at com.sun.jersey.server.impl.application.WebApplicationImpl. >> handleRequest(WebApplicationImpl.java:1391) >> at com.sun.jersey.server.impl.application.WebApplicationImpl. >> handleRequest(WebApplicationImpl.java:1381) >> at com.sun.jersey.spi.container.servlet.WebComponent.service( >> WebComponent.java:416) >> at com.sun.jersey.spi.container.servlet.ServletContainer. >> service(ServletContainer.java:538) >> at com.sun.jersey.spi.container.servlet.ServletContainer. >> service(ServletContainer.java:716) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:770) >> at org.glassfish.grizzly.servlet.FilterChainImpl.doFilter( >> FilterChainImpl.java:147) >> at org.glassfish.grizzly.servlet.FilterChainImpl.invokeFilterChain( >> FilterChainImpl.java:106) >> at org.glassfish.grizzly.servlet.ServletHandler.doServletService( >> ServletHandler.java:252) >> at org.glassfish.grizzly.servlet.ServletHandler.service( >> ServletHandler.java:188) >> at org.glassfish.grizzly.http.server.HttpHandler.doHandle( >> HttpHandler.java:164) >> at org.glassfish.grizzly.http.server.HttpHandlerChain. >> service(HttpHandlerChain.java:196) >> at org.glassfish.grizzly.http.server.HttpHandler.doHandle( >> HttpHandler.java:164) >> at org.glassfish.grizzly.http.server.HttpServerFilter. >> handleRead(HttpServerFilter.java:175) >> at org.glassfish.grizzly.filterchain.ExecutorResolver$ >> 9.execute(ExecutorResolver.java:119) >> at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter( >> DefaultFilterChain.java:265) >> at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart( >> DefaultFilterChain.java:200) >> at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute( >> DefaultFilterChain.java:134) >> at org.glassfish.grizzly.filterchain.DefaultFilterChain.process( >> DefaultFilterChain.java:112) >> at org.glassfish.grizzly.ProcessorExecutor.execute( >> ProcessorExecutor.java:78) >> at org.glassfish.grizzly.nio.transport.TCPNIOTransport. >> fireIOEvent(TCPNIOTransport.java:815) >> at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent( >> AbstractIOStrategy.java:112) >> at org.glassfish.grizzly.strategies.LeaderFollowerNIOStrategy. >> executeIoEvent(LeaderFollowerNIOStrategy.java:102) >> at org.glassfish.grizzly.strategies.AbstractIOStrategy.executeIoEvent( >> AbstractIOStrategy.java:88) >> at org.glassfish.grizzly.nio.SelectorRunner.iterateKeyEvents( >> SelectorRunner.java:398) >> at org.glassfish.grizzly.nio.SelectorRunner.iterateKeys( >> SelectorRunner.java:368) >> at org.glassfish.grizzly.nio.SelectorRunner.doSelect( >> SelectorRunner.java:334) >> at org.glassfish.grizzly.nio.SelectorRunner.run(SelectorRunner.java:264) >> at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork( >> AbstractThreadPool.java:567) >> at org.glassfish.grizzly.threadpool.AbstractThreadPool$ >> Worker.run(AbstractThreadPool.java:547) >> at java.lang.Thread.run(Thread.java:745) >> Caused by: com.orientechnologies.common.concur.lock.OLockException: >> Cannot unlock a never acquired lock >> at com.orientechnologies.orient.core.tx.OTransactionAbstract. >> unlockRecord(OTransactionAbstract.java:137) >> at com.orientechnologies.orient.core.id.ORecordId.unlock( >> ORecordId.java:287) >> at com.orientechnologies.orient.core.storage.impl.local. >> OAbstractPaginatedStorage.unlockRecord(OAbstractPaginatedStorage. >> java:1761) >> at com.orientechnologies.orient.core.storage.impl.local. >> OAbstractPaginatedStorage.readRecord(OAbstractPaginatedStorage.java:1429) >> at com.orientechnologies.orient.core.storage.impl.local. >> OAbstractPaginatedStorage.readRecord(OAbstractPaginatedStorage.java:694) >> at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx. >> executeReadRecord(ODatabaseDocumentTx.java:1569) >> ... 91 more >> >> Thanks, >> Elad >> >> >> >> On Friday, January 16, 2015 at 12:57:51 AM UTC+2, Jing Chen wrote: >>> >>> Hi, >>> >>> We are getting a ODatabaseException from our application, and I see this >>> "Cannot unlock a never acquired lock" error message in the stack trace. >>> What does this error mean? How can we avoid it? We are using 1.7.10 under >>> CentOS. >>> >>> com.orientechnologies.orient.core.exception.ODatabaseException: Error >>> on retrieving record #18:27 (cluster: user) >>> at com.orientechnologies.orient.core.db.raw.ODatabaseRaw.read( >>> ODatabaseRaw.java:257) >>> at com.orientechnologies.orient.core.db.record. >>> ODatabaseRecordAbstract.executeReadRecord(ODatabaseRecordAbstract.java: >>> 1005) >>> at com.orientechnologies.orient.core.tx.OTransactionNoTx. >>> loadRecord(OTransactionNoTx.java:70) >>> at com.orientechnologies.orient.core.db.record. >>> ODatabaseRecordTx.load(ODatabaseRecordTx.java:251) >>> at com.orientechnologies.orient.core.db.record. >>> ODatabaseRecordTx.load(ODatabaseRecordTx.java:40) >>> at com.orientechnologies.orient.core.id.ORecordId.getRecord( >>> ORecordId.java:298) >>> at org.ndexbio.common.models.dao.orientdb.OrientdbDAO. >>> getRecordById(OrientdbDAO.java:71) >>> at org.ndexbio.common.models.dao.orientdb.UserDAO. >>> getPendingRequest(UserDAO.java:962) >>> at org.ndexbio.rest.services.UserService.getPendingRequests( >>> UserService.java:531) >>> at sun.reflect.GeneratedMethodAccessor86.invoke(Unknown Source) >>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) >>> at java.lang.reflect.Method.invoke(Unknown Source) >>> at org.jboss.resteasy.core.MethodInjectorImpl.invoke( >>> MethodInjectorImpl.java:137) >>> at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget( >>> ResourceMethodInvoker.java:296) >>> at org.jboss.resteasy.core.ResourceMethodInvoker.invoke( >>> ResourceMethodInvoker.java:250) >>> at org.jboss.resteasy.core.ResourceMethodInvoker.invoke( >>> ResourceMethodInvoker.java:237) >>> at org.jboss.resteasy.core.SynchronousDispatcher.invoke( >>> SynchronousDispatcher.java:356) >>> at org.jboss.resteasy.core.SynchronousDispatcher.invoke( >>> SynchronousDispatcher.java:179) >>> at org.jboss.resteasy.plugins.server.servlet. >>> ServletContainerDispatcher.service(ServletContainerDispatcher.java:220) >>> at org.jboss.resteasy.plugins.server.servlet. >>> HttpServletDispatcher.service(HttpServletDispatcher.java:56) >>> at org.jboss.resteasy.plugins.server.servlet. >>> HttpServletDispatcher.service(HttpServletDispatcher.java:51) >>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) >>> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( >>> ApplicationFilterChain.java:303) >>> at org.apache.catalina.core.ApplicationFilterChain.doFilter( >>> ApplicationFilterChain.java:208) >>> at org.apache.tomcat.websocket.server.WsFilter.doFilter( >>> WsFilter.java:52) >>> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( >>> ApplicationFilterChain.java:241) >>> at org.apache.catalina.core.ApplicationFilterChain.doFilter( >>> ApplicationFilterChain.java:208) >>> at org.apache.catalina.core.StandardWrapperValve.invoke( >>> StandardWrapperValve.java:220) >>> at org.apache.catalina.core.StandardContextValve.invoke( >>> StandardContextValve.java:122) >>> at org.apache.catalina.authenticator.AuthenticatorBase.invoke( >>> AuthenticatorBase.java:501) >>> at org.apache.catalina.core.StandardHostValve.invoke( >>> StandardHostValve.java:171) >>> at org.apache.catalina.valves.ErrorReportValve.invoke( >>> ErrorReportValve.java:103) >>> at org.apache.catalina.valves.AccessLogValve.invoke( >>> AccessLogValve.java:950) >>> at org.apache.catalina.core.StandardEngineValve.invoke( >>> StandardEngineValve.java:116) >>> at org.apache.catalina.connector.CoyoteAdapter.service( >>> CoyoteAdapter.java:408) >>> at org.apache.coyote.http11.AbstractHttp11Processor.process( >>> AbstractHttp11Processor.java:1070) >>> at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler. >>> process(AbstractProtocol.java:611) >>> at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor. >>> run(JIoEndpoint.java:316) >>> at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) >>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown >>> Source) >>> at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run( >>> TaskThread.java:61) >>> at java.lang.Thread.run(Unknown Source) >>> Caused by: com.orientechnologies.common.concur.lock.OLockException: >>> Cannot unlock a never acquired lock >>> at com.orientechnologies.orient.core.tx.OTransactionAbstract. >>> unlockRecord(OTransactionAbstract.java:119) >>> at com.orientechnologies.orient.core.id.ORecordId.unlock( >>> ORecordId.java:272) >>> at com.orientechnologies.orient.core.storage.impl.local.paginated. >>> OLocalPaginatedStorage.readRecord(OLocalPaginatedStorage.java:1498) >>> at com.orientechnologies.orient.core.storage.impl.local.paginated. >>> OLocalPaginatedStorage.readRecord(OLocalPaginatedStorage.java:754) >>> at com.orientechnologies.orient.core.db.raw.ODatabaseRaw.read( >>> ODatabaseRaw.java:250) >>> ... 41 more >>> >>> Thanks, >>> Jing >>> >>> >>> -- > > --- > You received this message because you are subscribed to the Google Groups > "OrientDB" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- Best regards, Andrey Lomakin. -- --- You received this message because you are subscribed to the Google Groups "OrientDB" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
