Alex O'Ree created JUDDI-969:
--------------------------------

             Summary: 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
(v6.3.15#6346)

Reply via email to