hongmin118 opened a new issue, #6441:
URL: https://github.com/apache/incubator-seata/issues/6441

   ### Ⅰ. Issue Description
   
   服务接口加入工作流activite后,个别服务报Duplicate entry 'xxx' for key 'lock_table.PRIMARY'
   
   
   ### Ⅱ. Describe what happened
   
   
   client侧:
   ```
   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
   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]
   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=============
   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":"操作成功: 办理成功"}]
   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
   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
   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
   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
   java.lang.RuntimeException: try to proceed invocation error
        at 
io.seata.spring.annotation.AdapterInvocationWrapper.proceed(AdapterInvocationWrapper.java:59)
        at 
io.seata.integration.tx.api.interceptor.handler.GlobalTransactionalInterceptorHandler$2.execute(GlobalTransactionalInterceptorHandler.java:200)
        at 
io.seata.tm.api.TransactionalTemplate.execute(TransactionalTemplate.java:128)
        at 
io.seata.integration.tx.api.interceptor.handler.GlobalTransactionalInterceptorHandler.handleGlobalTransaction(GlobalTransactionalInterceptorHandler.java:197)
        at 
io.seata.integration.tx.api.interceptor.handler.GlobalTransactionalInterceptorHandler.doInvoke(GlobalTransactionalInterceptorHandler.java:166)
        at 
io.seata.integration.tx.api.interceptor.handler.AbstractProxyInvocationHandler.invoke(AbstractProxyInvocationHandler.java:35)
        at 
io.seata.spring.annotation.AdapterSpringSeataInterceptor.invoke(AdapterSpringSeataInterceptor.java:45)
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
        at 
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)
        at 
com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:73)
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
        at 
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)
        at 
com.finstone.fusion.logging.aop.AccessLoggerInterceptor.invoke(AccessLoggerInterceptor.java:117)
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
        at 
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)
        at 
org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698)
        at 
com.finstone.hfmis.center.approval.bpm.service.FlowsOperationServiceImpl$$EnhancerBySpringCGLIB$$53218f6b.doNext(<generated>)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at 
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
        at 
com.finstone.fusion.service.core.proxy.FeignProxyMethodInterceptor.invoke(FeignProxyMethodInterceptor.java:13)
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
        at 
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215)
        at com.sun.proxy.$Proxy193.doNext(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at 
org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
        at 
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)
        at 
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)
        at 
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)
        at 
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)
        at 
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
        at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067)
        at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)
        at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
        at 
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)
        at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
        at 
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
        at 
com.github.xiaoymin.swaggerbootstrapui.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:103)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
        at 
com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:124)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
        at 
com.finstone.fusion.web.filter.FusionDataExportFilter.doFilterInternal(FusionDataExportFilter.java:37)
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
        at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:327)
        at 
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)
        at 
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)
        at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
        at 
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119)
        at 
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
        at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
        at 
org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)
        at 
org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)
        at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
        at 
org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:105)
        at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
        at 
org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)
        at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
        at 
org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
        at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
        at 
com.finstone.fusion.auth.filter.UserTenantHolderFilter.doFilterInternal(UserTenantHolderFilter.java:50)
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
        at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
        at 
com.finstone.fusion.auth.filter.SessionUserHolderFilter.doFilterInternal(SessionUserHolderFilter.java:52)
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
        at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
        at 
org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationProcessingFilter.doFilter(OAuth2AuthenticationProcessingFilter.java:182)
        at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
        at 
org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
        at 
org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
        at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
        at 
org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
        at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
        at 
org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
        at 
org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
        at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
        at 
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
        at 
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
        at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
        at 
org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
        at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
        at 
org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211)
        at 
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183)
        at 
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)
        at 
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
        at 
org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
        at 
org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
        at 
com.finstone.fusion.security.web.filter.SignResponseFilter.doFilter(SignResponseFilter.java:34)
        at 
com.finstone.fusion.core.web.filter.AbstractFilter.doFilterInternal(AbstractFilter.java:56)
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
        at 
com.finstone.fusion.bsp.nbpm.filter.BpmCleanUpFilter.doFilterInternal(BpmCleanUpFilter.java:24)
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
        at 
com.finstone.fusion.web.filter.FusionContextFilter.doFilterInternal(FusionContextFilter.java:33)
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
        at 
com.finstone.fusion.web.filter.FusionContextHolderFilter.doFilterInternal(FusionContextHolderFilter.java:38)
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
        at 
org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:97)
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
        at 
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
        at 
com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:209)
        at 
com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:244)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
        at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)
        at 
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)
        at 
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
        at 
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:895)
        at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1722)
        at 
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        at 
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
        at 
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
        at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:748)
   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'] 
        at 
org.springframework.jdbc.datasource.DataSourceTransactionManager.translateException(DataSourceTransactionManager.java:435)
        at 
org.springframework.jdbc.support.JdbcTransactionManager.translateException(JdbcTransactionManager.java:188)
        at 
org.springframework.jdbc.datasource.DataSourceTransactionManager.doCommit(DataSourceTransactionManager.java:336)
        at 
org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:743)
        at 
org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:711)
        at 
org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:654)
        at 
org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:407)
        at 
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
        at 
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)
        at 
io.seata.spring.annotation.AdapterInvocationWrapper.proceed(AdapterInvocationWrapper.java:57)
        ... 161 common frames omitted
   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'] 
        at 
io.seata.rm.datasource.ConnectionProxy.recognizeLockKeyConflictException(ConnectionProxy.java:161)
        at 
io.seata.rm.datasource.ConnectionProxy.processGlobalTransactionCommit(ConnectionProxy.java:252)
        at 
io.seata.rm.datasource.ConnectionProxy.doCommit(ConnectionProxy.java:230)
        at 
io.seata.rm.datasource.ConnectionProxy.lambda$commit$0(ConnectionProxy.java:188)
        at 
io.seata.rm.datasource.ConnectionProxy$LockRetryPolicy.doRetryOnLockConflict(ConnectionProxy.java:356)
        at 
io.seata.rm.datasource.ConnectionProxy$LockRetryPolicy.execute(ConnectionProxy.java:348)
        at 
io.seata.rm.datasource.ConnectionProxy.commit(ConnectionProxy.java:187)
        at 
org.springframework.jdbc.datasource.DataSourceTransactionManager.doCommit(DataSourceTransactionManager.java:333)
        ... 169 common frames omitted
   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'] 
        at 
io.seata.rm.AbstractResourceManager.branchRegister(AbstractResourceManager.java:70)
        at 
io.seata.rm.DefaultResourceManager.branchRegister(DefaultResourceManager.java:96)
        at 
io.seata.rm.datasource.ConnectionProxy.register(ConnectionProxy.java:273)
        at 
io.seata.rm.datasource.ConnectionProxy.processGlobalTransactionCommit(ConnectionProxy.java:250)
        ... 175 common frames omitted
   
   ```
   
   
   
   TC侧:
   ```
   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
   
    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
   
    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
   
    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
   
    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_TASKIN
 
ST: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:17
 
71469015147155456;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
   
    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:176636
 
3392935096321;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}'}
   
    ==>
   
    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'
   
        at 
io.seata.server.AbstractTCInboundHandler$4.execute(AbstractTCInboundHandler.java:187)
 ~[classes/:na]
   
        at 
io.seata.server.AbstractTCInboundHandler$4.execute(AbstractTCInboundHandler.java:179)
 ~[classes/:na]
   
        at 
io.seata.core.exception.AbstractExceptionHandler.exceptionHandleTemplate(AbstractExceptionHandler.java:131)
 ~[seata-core-2.0.0.1-SNAPSHOT.jar:2.0.0.1-SNAPSHOT]
   
        at 
io.seata.server.AbstractTCInboundHandler.handle(AbstractTCInboundHandler.java:179)
 [classes/:na]
   
        at 
io.seata.core.protocol.transaction.BranchRegisterRequest.handle(BranchRegisterRequest.java:136)
 [seata-core-2.0.0.1-SNAPSHOT.jar:2.0.0.1-SNAPSHOT]
   
        at 
io.seata.server.coordinator.DefaultCoordinator.onRequest(DefaultCoordinator.java:523)
 [classes/:na]
   
        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]
   
        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]
   
        at 
java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1604)
 ~[na:1.8.0_342]
   
        at java.lang.Thread.run(Thread.java:750) ~[na:1.8.0_342]
   
    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'
   
        at 
io.seata.server.storage.db.lock.LockStoreDataBaseDAO.acquireLock(LockStoreDataBaseDAO.java:199)
 ~[classes/:na]
   
        at 
io.seata.server.storage.db.lock.DataBaseLocker.acquireLock(DataBaseLocker.java:64)
 ~[classes/:na]
   
        at 
io.seata.server.lock.AbstractLockManager.acquireLock(AbstractLockManager.java:65)
 ~[classes/:na]
   
        at io.seata.server.session.BranchSession.lock(BranchSession.java:300) 
~[classes/:na]
   
        at 
io.seata.server.transaction.at.ATCore.branchSessionLock(ATCore.java:77) 
~[classes/:na]
   
        at 
io.seata.server.coordinator.AbstractCore.lambda$branchRegister$0(AbstractCore.java:82)
 ~[classes/:na]
   
        at 
io.seata.server.storage.db.session.DataBaseSessionManager.lockAndExecute(DataBaseSessionManager.java:153)
 ~[classes/:na]
   
        at 
io.seata.server.session.SessionHolder.lockAndExecute(SessionHolder.java:332) 
~[classes/:na]
   
        at 
io.seata.server.coordinator.AbstractCore.branchRegister(AbstractCore.java:77) 
~[classes/:na]
   
        at 
io.seata.server.coordinator.DefaultCore.branchRegister(DefaultCore.java:107) 
~[classes/:na]
   
        at 
io.seata.server.coordinator.DefaultCoordinator.doBranchRegister(DefaultCoordinator.java:299)
 [classes/:na]
   
        at 
io.seata.server.AbstractTCInboundHandler$4.execute(AbstractTCInboundHandler.java:184)
 ~[classes/:na]
   
        ... 9 common frames omitted
   
    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'
   
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native 
Method) ~[na:1.8.0_342]
   
        at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
 ~[na:1.8.0_342]
   
        at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
 ~[na:1.8.0_342]
   
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 
~[na:1.8.0_342]
   
        at com.mysql.cj.util.Util.handleNewInstance(Util.java:192) ~[na:na]
   
        at com.mysql.cj.util.Util.getInstance(Util.java:167) ~[na:na]
   
        at com.mysql.cj.util.Util.getInstance(Util.java:174) ~[na:na]
   
        at 
com.mysql.cj.jdbc.exceptions.SQLError.createBatchUpdateException(SQLError.java:224)
 ~[na:na]
   
        at 
com.mysql.cj.jdbc.ClientPreparedStatement.executeBatchedInserts(ClientPreparedStatement.java:755)
 ~[na:na]
   
        at 
com.mysql.cj.jdbc.ClientPreparedStatement.executeBatchInternal(ClientPreparedStatement.java:426)
 ~[na:na]
   
        at com.mysql.cj.jdbc.StatementImpl.executeBatch(StatementImpl.java:800) 
~[na:na]
   
        at 
com.alibaba.druid.pool.DruidPooledPreparedStatement.executeBatch(DruidPooledPreparedStatement.java:565)
 ~[druid-1.2.7.jar:1.2.7]
   
        at 
io.seata.server.storage.db.lock.LockStoreDataBaseDAO.doAcquireLocks(LockStoreDataBaseDAO.java:371)
 ~[classes/:na]
   
        at 
io.seata.server.storage.db.lock.LockStoreDataBaseDAO.acquireLock(LockStoreDataBaseDAO.java:187)
 ~[classes/:na]
   
        ... 20 common frames omitted
   
    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'
   
        at 
com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:117) 
~[na:na]
   
        at 
com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
 ~[na:na]
   
        at 
com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953)
 ~[na:na]
   
        at 
com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1098)
 ~[na:na]
   
        at 
com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1046)
 ~[na:na]
   
        at 
com.mysql.cj.jdbc.ClientPreparedStatement.executeLargeUpdate(ClientPreparedStatement.java:1371)
 ~[na:na]
   
        at 
com.mysql.cj.jdbc.ClientPreparedStatement.executeBatchedInserts(ClientPreparedStatement.java:716)
 ~[na:na]
   
        ... 25 common frames omitted
   
    <==
   
    
   
    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
   
    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
   
    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
   
    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
   
    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
   
    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
   
    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.
   
    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
   
    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
   
    digest=default_tx_group,192.168.31.216,1711186104632
   
    timestamp=1711186104632
   ```
   
   
   ### Ⅲ. Describe what you expected to happen
   
   
   ### Ⅳ. How to reproduce it (as minimally and precisely as possible)
   
   1. xxx
   2. xxx
   3. xxx
   
   Minimal yet complete reproducer code (or URL to code):
   
   
   
   ### Ⅴ. Anything else we need to know?
   
   
   ### Ⅵ. 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:


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


Reply via email to