You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@juddi.apache.org by "Alex O'Ree (Jira)" <ju...@ws.apache.org> on 2020/01/20 03:17:00 UTC

[jira] [Resolved] (JUDDI-969) Derby dead lock

     [ https://issues.apache.org/jira/browse/JUDDI-969?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alex O'Ree resolved JUDDI-969.
------------------------------
    Resolution: Fixed

haven't seen this in quite a while, still not sure what the root cause is. if anyone runs into it, reopen or comment back

> Derby dead lock
> ---------------
>
>                 Key: JUDDI-969
>                 URL: https://issues.apache.org/jira/browse/JUDDI-969
>             Project: jUDDI
>          Issue Type: Bug
>    Affects Versions: 3.3.3
>            Reporter: Alex O'Ree
>            Priority: Minor
>
> Not super sure what caused this, but it's not consistently reproducible. Logging as informational only
> eb 11, 2017 3:41:04 AM org.apache.cxf.phase.PhaseInterceptorChain doDefaultLogging
> WARNING: Application {urn:uddi-org:api_v3_portType}UDDIInquiryService#{urn:uddi-org:api_v3_portType}get_bindingDetail has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: Unable to obtain an object lock on "null".
> 	at org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:170)
> 	at org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.createFault(AbstractJAXWSMethodInvoker.java:272)
> 	at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:136)
> 	at org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.invoke(AbstractJAXWSMethodInvoker.java:237)
> 	at org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:69)
> 	at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:75)
> 	at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> 	at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
> 	at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:107)
> 	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)
> 	at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
> 	at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:249)
> 	at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:248)
> 	at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:222)
> 	at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:153)
> 	at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:171)
> 	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:286)
> 	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:206)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
> 	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:262)
> 	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:505)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
> 	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)
> 	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)
> 	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
> 	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> 	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
> 	at java.lang.Thread.run(Thread.java:745)
> Caused by: <openjpa-2.3.0-r422266:1540826 nonfatal store error> org.apache.openjpa.persistence.OptimisticLockException: Unable to obtain an object lock on "null".
> 	at org.apache.openjpa.jdbc.sql.DBDictionary.narrow(DBDictionary.java:4956)
> 	at org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4934)
> 	at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:134)
> 	at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:116)
> 	at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:68)
> 	at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:688)
> 	at org.apache.openjpa.kernel.DelegatingStoreManager.load(DelegatingStoreManager.java:117)
> 	at org.apache.openjpa.kernel.ROPStoreManager.load(ROPStoreManager.java:78)
> 	at org.apache.openjpa.kernel.StateManagerImpl.loadFields(StateManagerImpl.java:3108)
> 	at org.apache.openjpa.kernel.StateManagerImpl.loadField(StateManagerImpl.java:3188)
> 	at org.apache.openjpa.kernel.StateManagerImpl.beforeAccessField(StateManagerImpl.java:1653)
> 	at org.apache.openjpa.kernel.StateManagerImpl.accessingField(StateManagerImpl.java:1586)
> 	at org.apache.juddi.model.BindingTemplate.getBusinessService(BindingTemplate.java)
> 	at org.apache.juddi.mapping.MappingModelToApi.mapBindingTemplate(MappingModelToApi.java:691)
> 	at org.apache.juddi.api.impl.UDDIInquiryImpl.getBindingDetail(UDDIInquiryImpl.java:397)
> 	at sun.reflect.GeneratedMethodAccessor155.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:606)
> 	at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:188)
> 	at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:104)
> 	... 39 more
> Caused by: java.sql.SQLTransactionRollbackException: A lock could not be obtained due to a deadlock, cycle of locks and waiters is:
> Lock : ROW, J3_UDDI_ENTITY, (9,14)
>   Waiting XID : {6379, S} , APP, SELECT t2.entity_key, t1.entity_key, t2.authorized_name, t2.created, t2.xfer, t2.modified, t2.modified_including_children, t2.node_id, t1.business_key FROM j3_binding_template t0 INNER JOIN j3_business_service t1 ON t0.service_key = t1.entity_key INNER JOIN j3_uddi_entity t2 ON t1.entity_key = t2.entity_key WHERE t0.entity_key = ?
>   Granted XID : {6372, X} 
> Lock : ROW, J3_BINDING_TEMPLATE, (1,34)
>   Waiting XID : {6372, X} , APP, DELETE FROM j3_binding_template WHERE entity_key = ?
>   Granted XID : {6379, S} 
> . The selected victim is XID : 6379.
> 	at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedResultSet.closeOnTransactionError(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedResultSet.movePosition(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedResultSet.next(Unknown Source)
> 	at org.apache.tomcat.dbcp.dbcp.DelegatingResultSet.next(DelegatingResultSet.java:207)
> 	at org.apache.tomcat.dbcp.dbcp.DelegatingResultSet.next(DelegatingResultSet.java:207)
> 	at org.apache.openjpa.lib.jdbc.DelegatingResultSet.next(DelegatingResultSet.java:109)
> 	at org.apache.openjpa.jdbc.sql.ResultSetResult.nextInternal(ResultSetResult.java:222)
> 	at org.apache.openjpa.jdbc.sql.SelectImpl$SelectResult.nextInternal(SelectImpl.java:2447)
> 	at org.apache.openjpa.jdbc.sql.AbstractResult.next(AbstractResult.java:175)
> 	at org.apache.openjpa.jdbc.meta.strats.RelationFieldStrategy.load(RelationFieldStrategy.java:838)
> 	at org.apache.openjpa.jdbc.meta.FieldMapping.load(FieldMapping.java:934)
> 	at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:681)
> 	... 53 more
> Caused by: java.sql.SQLException: A lock could not be obtained due to a deadlock, cycle of locks and waiters is:
> Lock : ROW, J3_UDDI_ENTITY, (9,14)
>   Waiting XID : {6379, S} , APP, SELECT t2.entity_key, t1.entity_key, t2.authorized_name, t2.created, t2.xfer, t2.modified, t2.modified_including_children, t2.node_id, t1.business_key FROM j3_binding_template t0 INNER JOIN j3_business_service t1 ON t0.service_key = t1.entity_key INNER JOIN j3_uddi_entity t2 ON t1.entity_key = t2.entity_key WHERE t0.entity_key = ?
>   Granted XID : {6372, X} 
> Lock : ROW, J3_BINDING_TEMPLATE, (1,34)
>   Waiting XID : {6372, X} , APP, DELETE FROM j3_binding_template WHERE entity_key = ?
>   Granted XID : {6379, S} 
> . The selected victim is XID : 6379.
> 	at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source)
> 	... 71 more
> Caused by: ERROR 40001: A lock could not be obtained due to a deadlock, cycle of locks and waiters is:
> Lock : ROW, J3_UDDI_ENTITY, (9,14)
>   Waiting XID : {6379, S} , APP, SELECT t2.entity_key, t1.entity_key, t2.authorized_name, t2.created, t2.xfer, t2.modified, t2.modified_including_children, t2.node_id, t1.business_key FROM j3_binding_template t0 INNER JOIN j3_business_service t1 ON t0.service_key = t1.entity_key INNER JOIN j3_uddi_entity t2 ON t1.entity_key = t2.entity_key WHERE t0.entity_key = ?
>   Granted XID : {6372, X} 
> Lock : ROW, J3_BINDING_TEMPLATE, (1,34)
>   Waiting XID : {6372, X} , APP, DELETE FROM j3_binding_template WHERE entity_key = ?
>   Granted XID : {6379, S} 
> . The selected victim is XID : 6379.
> 	at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
> 	at org.apache.derby.impl.services.locks.Deadlock.buildException(Unknown Source)
> 	at org.apache.derby.impl.services.locks.ConcurrentLockSet.lockObject(Unknown Source)
> 	at org.apache.derby.impl.services.locks.AbstractPool.lockObject(Unknown Source)
> 	at org.apache.derby.impl.store.raw.xact.RowLocking2.lockRecordForRead(Unknown Source)
> 	at org.apache.derby.impl.store.access.heap.HeapController.lockRow(Unknown Source)
> 	at org.apache.derby.impl.store.access.heap.HeapController.lockRow(Unknown Source)
> 	at org.apache.derby.impl.store.access.btree.index.B2IRowLocking3.lockRowOnPage(Unknown Source)
> 	at org.apache.derby.impl.store.access.btree.index.B2IRowLocking3._lockScanRow(Unknown Source)
> 	at org.apache.derby.impl.store.access.btree.index.B2IRowLockingRR.lockScanRow(Unknown Source)
> 	at org.apache.derby.impl.store.access.btree.BTreeForwardScan.fetchRows(Unknown Source)
> 	at org.apache.derby.impl.store.access.btree.BTreeScan.fetchNext(Unknown Source)
> 	at org.apache.derby.impl.sql.execute.TableScanResultSet.getNextRowCore(Unknown Source)
> 	at org.apache.derby.impl.sql.execute.IndexRowToBaseRowResultSet.getNextRowCore(Unknown Source)
> 	at org.apache.derby.impl.sql.execute.NestedLoopJoinResultSet.getNextRowCore(Unknown Source)
> 	at org.apache.derby.impl.sql.execute.ProjectRestrictResultSet.getNextRowCore(Unknown Source)
> 	at org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl.getNextRow(Unknown Source)
> 	... 64 more



--
This message was sent by Atlassian Jira
(v8.3.4#803005)