seata Duplicate entry 'xxx' for key 'lock_table.PRIMARY'

9njqaruj  于 8个月前  发布在  其他
关注(0)|答案(7)|浏览(152)

Ⅰ. Issue Description

服务接口加入工作流activite后,个别服务报Duplicate entry 'xxx' for key 'lock_table.PRIMARY'

Ⅱ. Describe what happened

client侧:

  1. 2024-03-23 17:28:17.963 [http-nio-9205-exec-5] INFO io.seata.tm.api.TransactionalTemplate - [TID: N/A] - join into a existing global transaction,xid=172.16.5.40:32495:4089735594110024796
  2. 2024-03-23 17:28:20.202 [http-nio-9205-exec-5] INFO c.f.b.c.h.identity.BpmIdentityExtractServiceImpl - [TID: N/A] - [com.finstone.bpmx.core.model.identity.DefaultBpmIdentity@36ebfc]
  3. 2024-03-23 17:28:20.210 [http-nio-9205-exec-5] INFO c.f.h.c.a.bpm.handle.ApprovalTaskAssignHandler - [TID: N/A] - 分派策略============dk_dksq===UserTask_kflizlo=============
  4. 2024-03-23 17:28:24.531 [http-nio-9205-exec-5] INFO c.f.h.c.a.bpm.service.FlowsOperationServiceImpl - [TID: N/A] - bpm doNext result is [{"status":"0","message":"操作成功: 办理成功"}]
  5. 2024-03-23 17:28:24.557 [http-nio-9205-exec-5] INFO io.seata.tm.api.DefaultGlobalTransaction - [TID: N/A] - transaction 172.16.5.40:32495:4089735594110024796 will be rollback
  6. 2024-03-23 17:28:24.620 [http-nio-9205-exec-5] INFO io.seata.tm.api.DefaultGlobalTransaction - [TID: N/A] - transaction end, xid = 172.16.5.40:32495:4089735594110024796
  7. 2024-03-23 17:28:24.621 [http-nio-9205-exec-5] INFO io.seata.tm.api.DefaultGlobalTransaction - [TID: N/A] - [172.16.5.40:32495:4089735594110024796] rollback status: Rollbacked
  8. 2024-03-23 17:28:24.627 [http-nio-9205-exec-5] ERROR c.f.f.web.support.FusionGlobalExceptionHandler - [TID: N/A] - try to proceed invocation error
  9. java.lang.RuntimeException: try to proceed invocation error
  10. at io.seata.spring.annotation.AdapterInvocationWrapper.proceed(AdapterInvocationWrapper.java:59)
  11. at io.seata.integration.tx.api.interceptor.handler.GlobalTransactionalInterceptorHandler$2.execute(GlobalTransactionalInterceptorHandler.java:200)
  12. at io.seata.tm.api.TransactionalTemplate.execute(TransactionalTemplate.java:128)
  13. at io.seata.integration.tx.api.interceptor.handler.GlobalTransactionalInterceptorHandler.handleGlobalTransaction(GlobalTransactionalInterceptorHandler.java:197)
  14. at io.seata.integration.tx.api.interceptor.handler.GlobalTransactionalInterceptorHandler.doInvoke(GlobalTransactionalInterceptorHandler.java:166)
  15. at io.seata.integration.tx.api.interceptor.handler.AbstractProxyInvocationHandler.invoke(AbstractProxyInvocationHandler.java:35)
  16. at io.seata.spring.annotation.AdapterSpringSeataInterceptor.invoke(AdapterSpringSeataInterceptor.java:45)
  17. at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
  18. at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)
  19. at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:73)
  20. at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
  21. at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)
  22. at com.finstone.fusion.logging.aop.AccessLoggerInterceptor.invoke(AccessLoggerInterceptor.java:117)
  23. at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
  24. at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)
  25. at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698)
  26. at com.finstone.hfmis.center.approval.bpm.service.FlowsOperationServiceImpl$$EnhancerBySpringCGLIB$$53218f6b.doNext(<generated>)
  27. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  28. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  29. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  30. at java.lang.reflect.Method.invoke(Method.java:498)
  31. at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
  32. at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
  33. at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
  34. at com.finstone.fusion.service.core.proxy.FeignProxyMethodInterceptor.invoke(FeignProxyMethodInterceptor.java:13)
  35. at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
  36. at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215)
  37. at com.sun.proxy.$Proxy193.doNext(Unknown Source)
  38. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  39. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  40. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  41. at java.lang.reflect.Method.invoke(Method.java:498)
  42. at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
  43. at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)
  44. at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)
  45. at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)
  46. at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)
  47. at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
  48. at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067)
  49. at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)
  50. at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
  51. at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
  52. at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)
  53. at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
  54. at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
  55. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
  56. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
  57. at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
  58. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
  59. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
  60. at com.github.xiaoymin.swaggerbootstrapui.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53)
  61. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
  62. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
  63. at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:103)
  64. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
  65. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
  66. at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:124)
  67. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
  68. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
  69. at com.finstone.fusion.web.filter.FusionDataExportFilter.doFilterInternal(FusionDataExportFilter.java:37)
  70. at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
  71. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
  72. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
  73. at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:327)
  74. at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)
  75. at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)
  76. at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
  77. at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119)
  78. at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
  79. at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
  80. at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)
  81. at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)
  82. at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
  83. at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:105)
  84. at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
  85. at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)
  86. at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
  87. at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
  88. at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
  89. at com.finstone.fusion.auth.filter.UserTenantHolderFilter.doFilterInternal(UserTenantHolderFilter.java:50)
  90. at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
  91. at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
  92. at com.finstone.fusion.auth.filter.SessionUserHolderFilter.doFilterInternal(SessionUserHolderFilter.java:52)
  93. at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
  94. at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
  95. at org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationProcessingFilter.doFilter(OAuth2AuthenticationProcessingFilter.java:182)
  96. at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
  97. at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
  98. at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
  99. at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
  100. at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)
  101. at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
  102. at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
  103. at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
  104. at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
  105. at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
  106. at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
  107. at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
  108. at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
  109. at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
  110. at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
  111. at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
  112. at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
  113. at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211)
  114. at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183)
  115. at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)
  116. at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)
  117. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
  118. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
  119. at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
  120. at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
  121. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
  122. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
  123. at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
  124. at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
  125. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
  126. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
  127. at com.finstone.fusion.security.web.filter.SignResponseFilter.doFilter(SignResponseFilter.java:34)
  128. at com.finstone.fusion.core.web.filter.AbstractFilter.doFilterInternal(AbstractFilter.java:56)
  129. at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
  130. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
  131. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
  132. at com.finstone.fusion.bsp.nbpm.filter.BpmCleanUpFilter.doFilterInternal(BpmCleanUpFilter.java:24)
  133. at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
  134. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
  135. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
  136. at com.finstone.fusion.web.filter.FusionContextFilter.doFilterInternal(FusionContextFilter.java:33)
  137. at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
  138. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
  139. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
  140. at com.finstone.fusion.web.filter.FusionContextHolderFilter.doFilterInternal(FusionContextHolderFilter.java:38)
  141. at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
  142. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
  143. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
  144. at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:97)
  145. at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
  146. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
  147. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
  148. at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
  149. at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
  150. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
  151. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
  152. at com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:209)
  153. at com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:244)
  154. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
  155. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
  156. at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
  157. at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
  158. at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540)
  159. at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
  160. at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
  161. at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
  162. at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)
  163. at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)
  164. at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
  165. at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:895)
  166. at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1722)
  167. at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
  168. at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
  169. at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
  170. at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
  171. at java.lang.Thread.run(Thread.java:748)
  172. Caused by: org.springframework.transaction.TransactionSystemException: JDBC commit failed; nested exception is java.sql.SQLException: io.seata.core.exception.RmTransactionException: branch register failed, xid: 172.16.5.40:32495:4089735594110024796, errMsg: TransactionException[branch register request failed. xid=172.16.5.40:32495:4089735594110024796, msg=Duplicate entry 'jdbc:oceanbase:oracle://172.16.5.50:2883/HFMIS_V10/HFMIS_V10^^^d' for key 'lock_table.PRIMARY']
  173. at org.springframework.jdbc.datasource.DataSourceTransactionManager.translateException(DataSourceTransactionManager.java:435)
  174. at org.springframework.jdbc.support.JdbcTransactionManager.translateException(JdbcTransactionManager.java:188)
  175. at org.springframework.jdbc.datasource.DataSourceTransactionManager.doCommit(DataSourceTransactionManager.java:336)
  176. at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:743)
  177. at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:711)
  178. at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:654)
  179. at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:407)
  180. at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
  181. at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
  182. at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)
  183. at io.seata.spring.annotation.AdapterInvocationWrapper.proceed(AdapterInvocationWrapper.java:57)
  184. ... 161 common frames omitted
  185. Caused by: java.sql.SQLException: io.seata.core.exception.RmTransactionException: branch register failed, xid: 172.16.5.40:32495:4089735594110024796, errMsg: TransactionException[branch register request failed. xid=172.16.5.40:32495:4089735594110024796, msg=Duplicate entry 'jdbc:oceanbase:oracle://172.16.5.50:2883/HFMIS_V10/HFMIS_V10^^^d' for key 'lock_table.PRIMARY']
  186. at io.seata.rm.datasource.ConnectionProxy.recognizeLockKeyConflictException(ConnectionProxy.java:161)
  187. at io.seata.rm.datasource.ConnectionProxy.processGlobalTransactionCommit(ConnectionProxy.java:252)
  188. at io.seata.rm.datasource.ConnectionProxy.doCommit(ConnectionProxy.java:230)
  189. at io.seata.rm.datasource.ConnectionProxy.lambda$commit$0(ConnectionProxy.java:188)
  190. at io.seata.rm.datasource.ConnectionProxy$LockRetryPolicy.doRetryOnLockConflict(ConnectionProxy.java:356)
  191. at io.seata.rm.datasource.ConnectionProxy$LockRetryPolicy.execute(ConnectionProxy.java:348)
  192. at io.seata.rm.datasource.ConnectionProxy.commit(ConnectionProxy.java:187)
  193. at org.springframework.jdbc.datasource.DataSourceTransactionManager.doCommit(DataSourceTransactionManager.java:333)
  194. ... 169 common frames omitted
  195. Caused by: io.seata.core.exception.RmTransactionException: branch register failed, xid: 172.16.5.40:32495:4089735594110024796, errMsg: TransactionException[branch register request failed. xid=172.16.5.40:32495:4089735594110024796, msg=Duplicate entry 'jdbc:oceanbase:oracle://172.16.5.50:2883/HFMIS_V10/HFMIS_V10^^^d' for key 'lock_table.PRIMARY']
  196. at io.seata.rm.AbstractResourceManager.branchRegister(AbstractResourceManager.java:70)
  197. at io.seata.rm.DefaultResourceManager.branchRegister(DefaultResourceManager.java:96)
  198. at io.seata.rm.datasource.ConnectionProxy.register(ConnectionProxy.java:273)
  199. at io.seata.rm.datasource.ConnectionProxy.processGlobalTransactionCommit(ConnectionProxy.java:250)
  200. ... 175 common frames omitted

TC侧:

  1. 17:28:17.168 INFO --- [verHandlerThread_1_46_500] [rocessor.server.RegRmProcessor] [ onRegRmMessage] [] : RM register success,message:RegisterRMRequest{resourceIds='jdbc:oceanbase:oracle://172.16.5.50:2883/HFMIS_V10/HFMIS_V10', version='2.0.0.1-SNAPSHOT', applicationId='h10-cloud-app-business', transactionServiceGroup='default_tx_group', extraData='null'},channel:[id: 0xd88342a7, L:/10.233.97.129:32495 - R:/10.233.98.0:33273],client version:2.0.0.1-SNAPSHOT
  2. 17:28:19.188 INFO --- [ batchLoggerPrint_1_1] [ocessor.server.BatchLogHandler] [ run] [] : receive msg[merged]: BranchRegisterRequest{xid='172.16.5.40:32495:4089735594110024796', branchType=AT, resourceId='jdbc:oceanbase:oracle://172.16.5.50:2883/HFMIS_V10/HFMIS_V10', lockKey='HPF_HANDLE_DATA:1765714163054202881', applicationData='null'}, clientIp: 10.233.98.0, vgroup: default_tx_group
  3. 17:28:19.194 INFO --- [ Thread-420] [erver.coordinator.AbstractCore] [bda$branchRegister$0] [172.16.5.40:32495:4089735594110024796] : Register branch successfully, xid = 172.16.5.40:32495:4089735594110024796, branchId = 4089735594110024857, resourceId = jdbc:oceanbase:oracle://172.16.5.50:2883/HFMIS_V10/HFMIS_V10 ,lockKeys = HPF_HANDLE_DATA:1765714163054202881
  4. 17:28:19.194 INFO --- [ batchLoggerPrint_1_1] [ocessor.server.BatchLogHandler] [ run] [] : result msg[merged]: BranchRegisterResponse{branchId=4089735594110024857, resultCode=Success, msg='null'}, clientIp: 10.233.98.0, vgroup: default_tx_group
  5. 17:28:23.294 INFO --- [ batchLoggerPrint_1_1] [ocessor.server.BatchLogHandler] [ run] [] : receive msg[merged]: BranchRegisterRequest{xid='172.16.5.40:32495:4089735594110024796', branchType=AT, resourceId='jdbc:oceanbase:oracle://172.16.5.50:2883/HFMIS_V10/HFMIS_V10', lockKey='dk_sq:pmls_sqbh_020240307002_1765712892607909889;bpm_pro_status:1770690418579091456;ACT_HI_VARINST:1766363393190948864;ACT_HI_VARINST:1766363393098674176;bpm_exe_stack:1771411213675397120;ACT_HI_VARINST:1766363393207726080;bpm_check_opinion:1771469015512059904;ACT_HI_VARINST:1766363393123840000;bpm_exe_stack_executor:1771469015717580801;bpm_pro_status:1767739386380599296;ACT_HI_VARINST:1766363393081896960;ACT_HI_VARINST:1766363393140617216;ACT_HI_VARINST:1766363392993816576;ACT_HI_VARINST:1766363393174171648;ACT_HI_VARINST:1766363393149005824;bpm_task:1771469015147155457;ACT_HI_VARINST:1766363393199337472;ACT_HI_VARINST:1766363392951873536;bpm_pro_inst:1766363390070386688;ACT_HI_TASKINST:1771469015147155457;ACT_HI_VARINST:1766363393035759616;ACT_HI_VARINST:1766363393018982400;ACT_HI_VARINST:1766363393115451392;ACT_HI_VARINST:1766363393073508352;ACT_HI_VARINST:1766363393182560256;bpm_exe_stack:1771469015642083328;ACT_HI_VARINST:1766363393132228608;ACT_HI_VARINST:1766363393107062784;bpm_check_opinion:1771411213612482560;bpm_task:1771411213398573057;ACT_HI_VARINST:1766363393052536832;ACT_RU_EXECUTION:1766363392851210240;ACT_HI_TASKINST:1771411213398573057;ACT_HI_VARINST:1766363392985427968;ACT_HI_VARINST:1766363393090285568;ACT_HI_VARINST:1766363393027371008;bpm_exe_stack_executor:1771411213708951552;ACT_HI_VARINST:1766363392943484928;ACT_RU_TASK:1771469015147155457;ACT_HI_VARINST:1766363393002205184;ACT_HI_VARINST:1766363393065119744;bpm_exe_stack_relation:1771469015679832064;ACT_HI_ACTINST:1771411213398573056;ACT_HI_VARINST:1766363393010593792;ACT_HI_VARINST:1766363392964456448;ACT_HI_VARINST:1766363392935096321;ACT_HI_VARINST:1766363393157394432;ACT_HI_ACTINST:1771469015147155456;ACT_HI_VARINST:1766363392851210241;ACT_HI_VARINST:1766363392977039360;ACT_RU_TASK:1771411213398573057;ACT_HI_VARINST:1766363393165783040;ACT_HI_VARINST:1766363393044148224', applicationData='{"autoCommit":false}'}, clientIp: 10.233.98.0, vgroup: default_tx_group
  6. 17:28:23.306 ERROR --- [ Thread-421] [ption.AbstractExceptionHandler] [eptionHandleTemplate] [172.16.5.40:32495:4089735594110024796] : Catch TransactionException while do RPC, request: BranchRegisterRequest{xid='172.16.5.40:32495:4089735594110024796', branchType=AT, resourceId='jdbc:oceanbase:oracle://172.16.5.50:2883/HFMIS_V10/HFMIS_V10', lockKey='dk_sq:pmls_sqbh_020240307002_1765712892607909889;bpm_pro_status:1770690418579091456;ACT_HI_VARINST:1766363393190948864;ACT_HI_VARINST:1766363393098674176;bpm_exe_stack:1771411213675397120;ACT_HI_VARINST:1766363393207726080;bpm_check_opinion:1771469015512059904;ACT_HI_VARINST:1766363393123840000;bpm_exe_stack_executor:1771469015717580801;bpm_pro_status:1767739386380599296;ACT_HI_VARINST:1766363393081896960;ACT_HI_VARINST:1766363393140617216;ACT_HI_VARINST:1766363392993816576;ACT_HI_VARINST:1766363393174171648;ACT_HI_VARINST:1766363393149005824;bpm_task:1771469015147155457;ACT_HI_VARINST:1766363393199337472;ACT_HI_VARINST:1766363392951873536;bpm_pro_inst:1766363390070386688;ACT_HI_TASKINST:1771469015147155457;ACT_HI_VARINST:1766363393035759616;ACT_HI_VARINST:1766363393018982400;ACT_HI_VARINST:1766363393115451392;ACT_HI_VARINST:1766363393073508352;ACT_HI_VARINST:1766363393182560256;bpm_exe_stack:1771469015642083328;ACT_HI_VARINST:1766363393132228608;ACT_HI_VARINST:1766363393107062784;bpm_check_opinion:1771411213612482560;bpm_task:1771411213398573057;ACT_HI_VARINST:1766363393052536832;ACT_RU_EXECUTION:1766363392851210240;ACT_HI_TASKINST:1771411213398573057;ACT_HI_VARINST:1766363392985427968;ACT_HI_VARINST:1766363393090285568;ACT_HI_VARINST:1766363393027371008;bpm_exe_stack_executor:1771411213708951552;ACT_HI_VARINST:1766363392943484928;ACT_RU_TASK:1771469015147155457;ACT_HI_VARINST:1766363393002205184;ACT_HI_VARINST:1766363393065119744;bpm_exe_stack_relation:1771469015679832064;ACT_HI_ACTINST:1771411213398573056;ACT_HI_VARINST:1766363393010593792;ACT_HI_VARINST:1766363392964456448;ACT_HI_VARINST:1766363392935096321;ACT_HI_VARINST:1766363393157394432;ACT_HI_ACTINST:1771469015147155456;ACT_HI_VARINST:1766363392851210241;ACT_HI_VARINST:1766363392977039360;ACT_RU_TASK:1771411213398573057;ACT_HI_VARINST:1766363393165783040;ACT_HI_VARINST:1766363393044148224', applicationData='{"autoCommit":false}'}
  7. ==>
  8. io.seata.core.exception.TransactionException: branch register request failed. xid=172.16.5.40:32495:4089735594110024796, msg=Duplicate entry 'jdbc:oceanbase:oracle://172.16.5.50:2883/HFMIS_V10/HFMIS_V10^^^d' for key 'lock_table.PRIMARY'
  9. at io.seata.server.AbstractTCInboundHandler$4.execute(AbstractTCInboundHandler.java:187) ~[classes/:na]
  10. at io.seata.server.AbstractTCInboundHandler$4.execute(AbstractTCInboundHandler.java:179) ~[classes/:na]
  11. at io.seata.core.exception.AbstractExceptionHandler.exceptionHandleTemplate(AbstractExceptionHandler.java:131) ~[seata-core-2.0.0.1-SNAPSHOT.jar:2.0.0.1-SNAPSHOT]
  12. at io.seata.server.AbstractTCInboundHandler.handle(AbstractTCInboundHandler.java:179) [classes/:na]
  13. at io.seata.core.protocol.transaction.BranchRegisterRequest.handle(BranchRegisterRequest.java:136) [seata-core-2.0.0.1-SNAPSHOT.jar:2.0.0.1-SNAPSHOT]
  14. at io.seata.server.coordinator.DefaultCoordinator.onRequest(DefaultCoordinator.java:523) [classes/:na]
  15. at io.seata.core.rpc.processor.server.ServerOnRequestProcessor.handleRequestsByMergedWarpMessage(ServerOnRequestProcessor.java:288) [seata-core-2.0.0.1-SNAPSHOT.jar:2.0.0.1-SNAPSHOT]
  16. at io.seata.core.rpc.processor.server.ServerOnRequestProcessor.lambda$onRequestMessage$1(ServerOnRequestProcessor.java:178) [seata-core-2.0.0.1-SNAPSHOT.jar:2.0.0.1-SNAPSHOT]
  17. at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1604) ~[na:1.8.0_342]
  18. at java.lang.Thread.run(Thread.java:750) ~[na:1.8.0_342]
  19. Caused by: io.seata.common.exception.StoreException: Duplicate entry 'jdbc:oceanbase:oracle://172.16.5.50:2883/HFMIS_V10/HFMIS_V10^^^d' for key 'lock_table.PRIMARY'
  20. at io.seata.server.storage.db.lock.LockStoreDataBaseDAO.acquireLock(LockStoreDataBaseDAO.java:199) ~[classes/:na]
  21. at io.seata.server.storage.db.lock.DataBaseLocker.acquireLock(DataBaseLocker.java:64) ~[classes/:na]
  22. at io.seata.server.lock.AbstractLockManager.acquireLock(AbstractLockManager.java:65) ~[classes/:na]
  23. at io.seata.server.session.BranchSession.lock(BranchSession.java:300) ~[classes/:na]
  24. at io.seata.server.transaction.at.ATCore.branchSessionLock(ATCore.java:77) ~[classes/:na]
  25. at io.seata.server.coordinator.AbstractCore.lambda$branchRegister$0(AbstractCore.java:82) ~[classes/:na]
  26. at io.seata.server.storage.db.session.DataBaseSessionManager.lockAndExecute(DataBaseSessionManager.java:153) ~[classes/:na]
  27. at io.seata.server.session.SessionHolder.lockAndExecute(SessionHolder.java:332) ~[classes/:na]
  28. at io.seata.server.coordinator.AbstractCore.branchRegister(AbstractCore.java:77) ~[classes/:na]
  29. at io.seata.server.coordinator.DefaultCore.branchRegister(DefaultCore.java:107) ~[classes/:na]
  30. at io.seata.server.coordinator.DefaultCoordinator.doBranchRegister(DefaultCoordinator.java:299) [classes/:na]
  31. at io.seata.server.AbstractTCInboundHandler$4.execute(AbstractTCInboundHandler.java:184) ~[classes/:na]
  32. ... 9 common frames omitted
  33. Caused by: java.sql.BatchUpdateException: Duplicate entry 'jdbc:oceanbase:oracle://172.16.5.50:2883/HFMIS_V10/HFMIS_V10^^^d' for key 'lock_table.PRIMARY'
  34. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_342]
  35. at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_342]
  36. at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_342]
  37. at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_342]
  38. at com.mysql.cj.util.Util.handleNewInstance(Util.java:192) ~[na:na]
  39. at com.mysql.cj.util.Util.getInstance(Util.java:167) ~[na:na]
  40. at com.mysql.cj.util.Util.getInstance(Util.java:174) ~[na:na]
  41. at com.mysql.cj.jdbc.exceptions.SQLError.createBatchUpdateException(SQLError.java:224) ~[na:na]
  42. at com.mysql.cj.jdbc.ClientPreparedStatement.executeBatchedInserts(ClientPreparedStatement.java:755) ~[na:na]
  43. at com.mysql.cj.jdbc.ClientPreparedStatement.executeBatchInternal(ClientPreparedStatement.java:426) ~[na:na]
  44. at com.mysql.cj.jdbc.StatementImpl.executeBatch(StatementImpl.java:800) ~[na:na]
  45. at com.alibaba.druid.pool.DruidPooledPreparedStatement.executeBatch(DruidPooledPreparedStatement.java:565) ~[druid-1.2.7.jar:1.2.7]
  46. at io.seata.server.storage.db.lock.LockStoreDataBaseDAO.doAcquireLocks(LockStoreDataBaseDAO.java:371) ~[classes/:na]
  47. at io.seata.server.storage.db.lock.LockStoreDataBaseDAO.acquireLock(LockStoreDataBaseDAO.java:187) ~[classes/:na]
  48. ... 20 common frames omitted
  49. Caused by: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry 'jdbc:oceanbase:oracle://172.16.5.50:2883/HFMIS_V10/HFMIS_V10^^^d' for key 'lock_table.PRIMARY'
  50. at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:117) ~[na:na]
  51. at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) ~[na:na]
  52. at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953) ~[na:na]
  53. at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1098) ~[na:na]
  54. at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1046) ~[na:na]
  55. at com.mysql.cj.jdbc.ClientPreparedStatement.executeLargeUpdate(ClientPreparedStatement.java:1371) ~[na:na]
  56. at com.mysql.cj.jdbc.ClientPreparedStatement.executeBatchedInserts(ClientPreparedStatement.java:716) ~[na:na]
  57. ... 25 common frames omitted
  58. <==
  59. 17:28:23.307 INFO --- [ batchLoggerPrint_1_1] [ocessor.server.BatchLogHandler] [ run] [] : result msg[merged]: BranchRegisterResponse{branchId=0, resultCode=Failed, msg='TransactionException[branch register request failed. xid=172.16.5.40:32495:4089735594110024796, msg=Duplicate entry 'jdbc:oceanbase:oracle://172.16.5.50:2883/HFMIS_V10/HFMIS_V10^^^d' for key 'lock_table.PRIMARY']'}, clientIp: 10.233.98.0, vgroup: default_tx_group
  60. 17:28:23.318 INFO --- [ batchLoggerPrint_1_1] [ocessor.server.BatchLogHandler] [ run] [] : receive msg[single]: GlobalRollbackRequest{xid='172.16.5.40:32495:4089735594110024796', extraData='null'}, clientIp: 10.233.98.0, vgroup: default_tx_group
  61. 17:28:23.354 INFO --- [ batchLoggerPrint_1_1] [ocessor.server.BatchLogHandler] [ run] [] : receive msg[single]: BranchRollbackResponse{xid='172.16.5.40:32495:4089735594110024796', branchId=4089735594110024809, branchStatus=PhaseTwo_Rollbacked, resultCode=Success, msg='null'}, clientIp: 10.233.98.0, vgroup: default_tx_group
  62. 17:28:23.361 INFO --- [verHandlerThread_1_49_500] [server.coordinator.DefaultCore] [a$doGlobalRollback$3] [172.16.5.40:32495:4089735594110024796] : Rollback branch transaction successfully, xid = 172.16.5.40:32495:4089735594110024796 branchId = 4089735594110024809
  63. 17:28:23.376 INFO --- [ batchLoggerPrint_1_1] [ocessor.server.BatchLogHandler] [ run] [] : receive msg[single]: BranchRollbackResponse{xid='172.16.5.40:32495:4089735594110024796', branchId=4089735594110024857, branchStatus=PhaseTwo_Rollbacked, resultCode=Success, msg='null'}, clientIp: 10.233.98.0, vgroup: default_tx_group
  64. 17:28:23.379 INFO --- [verHandlerThread_1_49_500] [server.coordinator.DefaultCore] [a$doGlobalRollback$3] [172.16.5.40:32495:4089735594110024796] : Rollback branch transaction successfully, xid = 172.16.5.40:32495:4089735594110024796 branchId = 4089735594110024857
  65. 17:28:23.380 INFO --- [verHandlerThread_1_49_500] [server.coordinator.DefaultCore] [ doGlobalRollback] [172.16.5.40:32495:4089735594110024796] : Rollback global transaction successfully, xid = 172.16.5.40:32495:4089735594110024796.
  66. 17:28:23.381 INFO --- [ batchLoggerPrint_1_1] [ocessor.server.BatchLogHandler] [ run] [] : result msg[single]: GlobalRollbackResponse{globalStatus=Rollbacked, resultCode=Success, msg='null'}, clientIp: 10.233.98.0, vgroup: default_tx_group
  67. 17:28:23.397 INFO --- [ettyServerNIOWorker_1_1_4] [rocessor.server.RegTmProcessor] [ onRegTmMessage] [] : TM register success,message:RegisterTMRequest{version='2.0.0.1-SNAPSHOT', applicationId='h10-cloud-app-business', transactionServiceGroup='default_tx_group', extraData='ak=null
  68. digest=default_tx_group,192.168.31.216,1711186104632
  69. timestamp=1711186104632

Ⅵ. Environment:

  • JDK version(e.g. java -version ): 1.8
  • Seata client/server version: 2.0.0,我在seata2.0.0的基础上做了二开,兼容了OceanBase,
  • Database version: 业务库OceanBase, seata服务端mysql
  • OS(e.g. uname -a ):
  • Others:
91zkwejq

91zkwejq1#

You can check the locking xid from the database. It is a normal phenomenon for concurrent transactions that modify the same data to hold locks.

hrirmatl

hrirmatl2#

You can check the locking xid from the database. It is a normal phenomenon for concurrent transactions that modify the same data to hold locks.

您是说两个分支事务修改相同的数据,就会导致lock_table的主键冲突?

hrysbysz

hrysbysz3#

You can check the locking xid from the database. It is a normal phenomenon for concurrent transactions that modify the same data to hold locks.

您是说两个分支事务修改相同的数据,就会导致lock_table的主键冲突?

我试了下,两个事务操作同一条数据,lock_table是不会有主键冲突的。

rkkpypqq

rkkpypqq4#

You can check the locking xid from the database. It is a normal phenomenon for concurrent transactions that modify the same data to hold locks.

您是说两个分支事务修改相同的数据,就会导致lock_table的主键冲突?

two branch transactions under different xids that have modified data with the same primary key id.

kqqjbcuj

kqqjbcuj5#

You can check the locking xid from the database. It is a normal phenomenon for concurrent transactions that modify the same data to hold locks.

您是说两个分支事务修改相同的数据,就会导致lock_table的主键冲突?

two branch transactions under different xids that have modified data with the same primary key id.

The different xids? 两个全局事务,操作同一张表的同一条数据,会提示全局锁冲突吧?

htrmnn0y

htrmnn0y6#

@slievrly 大佬大佬,还有其它原因么?

a64a0gku

a64a0gku7#

Is the same data reentered multiple times under the same xid?

相关问题