That is reason of this issue then, you should call shutdown on connection close.
On Tue, Feb 3, 2015 at 5:21 PM, Elad <[email protected]> wrote: > Hi Andrey, > > I do not see any shutdown method in Rexster. > > Thanks, > Elad > > On Monday, February 2, 2015 at 11:23:49 AM UTC+2, Andrey Lomakin wrote: >> >> 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.ODatabaseDocum >>>> entTx.load(ODatabaseDocumentTx.java:1421) >>>> at com.orientechnologies.orient.core.db.document.ODatabaseDocum >>>> entTx.load(ODatabaseDocumentTx.java:117) >>>> at com.orientechnologies.orient.core.id.ORecordId.getRecord(ORe >>>> cordId.java:313) >>>> at com.tinkerpop.blueprints.impls.orient.OrientEdgeIterator.cre >>>> ateWrapper(OrientEdgeIterator.java:61) >>>> at com.tinkerpop.blueprints.impls.orient.OrientEdgeIterator.cre >>>> ateWrapper(OrientEdgeIterator.java:39) >>>> at com.orientechnologies.orient.core.iterator.OLazyWrapperItera >>>> tor.hasNext(OLazyWrapperIterator.java:79) >>>> at com.orientechnologies.common.collection.OMultiCollectionIterator. >>>> hasNext(OMultiCollectionIterator.java:78) >>>> at com.tinkerpop.blueprints.util.DefaultVertexQuery$DefaultVert >>>> exQueryIterable$1.loadNext(DefaultVertexQuery.java:163) >>>> at com.tinkerpop.blueprints.util.DefaultVertexQuery$DefaultVert >>>> exQueryIterable$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(Se >>>> lectPipe.java:54) >>>> at com.tinkerpop.pipes.transform.SelectPipe.processNextStart(Se >>>> lectPipe.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.tryExecuteGre >>>> mlinScript(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(NativeMethodAcce >>>> ssorImpl.java:57) >>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe >>>> thodAccessorImpl.java:43) >>>> at java.lang.reflect.Method.invoke(Method.java:606) >>>> at com.tinkerpop.rexster.AbstractSubResource.invokeExtension(Ab >>>> stractSubResource.java:322) >>>> at com.tinkerpop.rexster.AbstractSubResource.invokeExtension(Ab >>>> stractSubResource.java:229) >>>> at com.tinkerpop.rexster.GraphResource.executeGraphExtension(Gr >>>> aphResource.java:281) >>>> at com.tinkerpop.rexster.GraphResource.postGraphExtension(Graph >>>> Resource.java:201) >>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce >>>> ssorImpl.java:57) >>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe >>>> thodAccessorImpl.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.AbstractRes >>>> ourceMethodDispatchProvider$ResponseOutInvoker._dispatch(A >>>> bstractResourceMethodDispatchProvider.java:205) >>>> at com.sun.jersey.server.impl.model.method.dispatch.ResourceJav >>>> aMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75) >>>> at com.codahale.metrics.jersey.InstrumentedResourceMethodDispat >>>> chProvider$TimedRequestDispatcher.dispatch(InstrumentedResou >>>> rceMethodDispatchProvider.java:30) >>>> at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept( >>>> HttpMethodRule.java:302) >>>> at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accep >>>> t(RightHandPathRule.java:147) >>>> at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accep >>>> t(ResourceClassRule.java:108) >>>> at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accep >>>> t(RightHandPathRule.java:147) >>>> at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept( >>>> RootResourceClassesRule.java:84) >>>> at com.sun.jersey.server.impl.application.WebApplicationImpl._h >>>> andleRequest(WebApplicationImpl.java:1511) >>>> at com.sun.jersey.server.impl.application.WebApplicationImpl._h >>>> andleRequest(WebApplicationImpl.java:1442) >>>> at com.sun.jersey.server.impl.application.WebApplicationImpl.ha >>>> ndleRequest(WebApplicationImpl.java:1391) >>>> at com.sun.jersey.server.impl.application.WebApplicationImpl.ha >>>> ndleRequest(WebApplicationImpl.java:1381) >>>> at com.sun.jersey.spi.container.servlet.WebComponent.service(We >>>> bComponent.java:416) >>>> at com.sun.jersey.spi.container.servlet.ServletContainer.servic >>>> e(ServletContainer.java:538) >>>> at com.sun.jersey.spi.container.servlet.ServletContainer.servic >>>> e(ServletContainer.java:716) >>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:770) >>>> at org.glassfish.grizzly.servlet.FilterChainImpl.doFilter(Filte >>>> rChainImpl.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(Servlet >>>> Handler.java:188) >>>> at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpH >>>> andler.java:164) >>>> at org.glassfish.grizzly.http.server.HttpHandlerChain.service( >>>> HttpHandlerChain.java:196) >>>> at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpH >>>> andler.java:164) >>>> at org.glassfish.grizzly.http.server.HttpServerFilter.handleRea >>>> d(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.execute >>>> ChainPart(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(ProcessorExe >>>> cutor.java:78) >>>> at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEv >>>> ent(TCPNIOTransport.java:815) >>>> at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent( >>>> AbstractIOStrategy.java:112) >>>> at org.glassfish.grizzly.strategies.LeaderFollowerNIOStrategy.e >>>> xecuteIoEvent(LeaderFollowerNIOStrategy.java:102) >>>> at org.glassfish.grizzly.strategies.AbstractIOStrategy.executeIoEvent( >>>> AbstractIOStrategy.java:88) >>>> at org.glassfish.grizzly.nio.SelectorRunner.iterateKeyEvents(Se >>>> lectorRunner.java:398) >>>> at org.glassfish.grizzly.nio.SelectorRunner.iterateKeys(Selecto >>>> rRunner.java:368) >>>> at org.glassfish.grizzly.nio.SelectorRunner.doSelect(SelectorRu >>>> nner.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.un >>>> lockRecord(OTransactionAbstract.java:137) >>>> at com.orientechnologies.orient.core.id.ORecordId.unlock(ORecor >>>> dId.java:287) >>>> at com.orientechnologies.orient.core.storage.impl.local.OAbstra >>>> ctPaginatedStorage.unlockRecord(OAbstractPaginatedStorage.java:1761) >>>> at com.orientechnologies.orient.core.storage.impl.local.OAbstra >>>> ctPaginatedStorage.readRecord(OAbstractPaginatedStorage.java:1429) >>>> at com.orientechnologies.orient.core.storage.impl.local.OAbstra >>>> ctPaginatedStorage.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(O >>>>> DatabaseRaw.java:257) >>>>> at com.orientechnologies.orient.core.db.record.ODatabaseRecordA >>>>> bstract.executeReadRecord(ODatabaseRecordAbstract.java:1005) >>>>> at com.orientechnologies.orient.core.tx.OTransactionNoTx.loadRe >>>>> cord(OTransactionNoTx.java:70) >>>>> at com.orientechnologies.orient.core.db.record.ODatabaseRecordT >>>>> x.load(ODatabaseRecordTx.java:251) >>>>> at com.orientechnologies.orient.core.db.record.ODatabaseRecordT >>>>> x.load(ODatabaseRecordTx.java:40) >>>>> at com.orientechnologies.orient.core.id.ORecordId.getRecord(ORe >>>>> cordId.java:298) >>>>> at org.ndexbio.common.models.dao.orientdb.OrientdbDAO.getRecord >>>>> ById(OrientdbDAO.java:71) >>>>> at org.ndexbio.common.models.dao.orientdb.UserDAO.getPendingReq >>>>> uest(UserDAO.java:962) >>>>> at org.ndexbio.rest.services.UserService.getPendingRequests(Use >>>>> rService.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(MethodInje >>>>> ctorImpl.java:137) >>>>> at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget( >>>>> ResourceMethodInvoker.java:296) >>>>> at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(Resourc >>>>> eMethodInvoker.java:250) >>>>> at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(Resourc >>>>> eMethodInvoker.java:237) >>>>> at org.jboss.resteasy.core.SynchronousDispatcher.invoke(Synchro >>>>> nousDispatcher.java:356) >>>>> at org.jboss.resteasy.core.SynchronousDispatcher.invoke(Synchro >>>>> nousDispatcher.java:179) >>>>> at org.jboss.resteasy.plugins.server.servlet.ServletContainerDi >>>>> spatcher.service(ServletContainerDispatcher.java:220) >>>>> at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatc >>>>> her.service(HttpServletDispatcher.java:56) >>>>> at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatc >>>>> her.service(HttpServletDispatcher.java:51) >>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) >>>>> at org.apache.catalina.core.ApplicationFilterChain.internalDoFi >>>>> lter(ApplicationFilterChain.java:303) >>>>> at org.apache.catalina.core.ApplicationFilterChain.doFilter(App >>>>> licationFilterChain.java:208) >>>>> at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilte >>>>> r.java:52) >>>>> at org.apache.catalina.core.ApplicationFilterChain.internalDoFi >>>>> lter(ApplicationFilterChain.java:241) >>>>> at org.apache.catalina.core.ApplicationFilterChain.doFilter(App >>>>> licationFilterChain.java:208) >>>>> at org.apache.catalina.core.StandardWrapperValve.invoke(Standar >>>>> dWrapperValve.java:220) >>>>> at org.apache.catalina.core.StandardContextValve.invoke(Standar >>>>> dContextValve.java:122) >>>>> at org.apache.catalina.authenticator.AuthenticatorBase.invoke(A >>>>> uthenticatorBase.java:501) >>>>> at org.apache.catalina.core.StandardHostValve.invoke(StandardHo >>>>> stValve.java:171) >>>>> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorRepo >>>>> rtValve.java:103) >>>>> at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogVa >>>>> lve.java:950) >>>>> at org.apache.catalina.core.StandardEngineValve.invoke(Standard >>>>> EngineValve.java:116) >>>>> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAd >>>>> apter.java:408) >>>>> at org.apache.coyote.http11.AbstractHttp11Processor.process(Abs >>>>> tractHttp11Processor.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.un >>>>> lockRecord(OTransactionAbstract.java:119) >>>>> at com.orientechnologies.orient.core.id.ORecordId.unlock(ORecor >>>>> dId.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(O >>>>> DatabaseRaw.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. > -- 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.
