apache / incubator-seata

:fire: Seata is an easy-to-use, high-performance, open source distributed transaction solution.
https://seata.apache.org/
Apache License 2.0
25.23k stars 8.76k forks source link

1.1.0版本 saga 模式 如果执行失败 会出现 id 转换错误 NumberFormatException #2634

Open 1225304143 opened 4 years ago

1225304143 commented 4 years ago

[ERROR][2020-04-29T00:31:07.139+0800][ProcessControllerImpl.java:50] _undef||traceid=ac1ea5b05ea85a49b622353c00000186||spanid=8000a5304367a766||_msg=Unknown exception occurred, context = {variables={_iscompensating=io.seata.saga.statelang.domain.impl.CompensationTriggerStateImpl@268a0e59, _currentstatemachine=io.seata.saga.statelang.domain.impl.StateMachineImpl@842200e, _current_statemachineinstance=io.seata.saga.statelang.domain.impl.StateMachineInstanceImpl@5ce5cc1f, _current_stateinstance=io.seata.saga.statelang.domain.impl.StateInstanceImpl@3d616ed3, _statemachineconfig=io.seata.saga.engine.config.DbStateMachineConfig@4bef57e0, _globaltransaction=io.seata.tm.api.DefaultGlobalTransaction@52344cc3, _sync_executionstack=[], _first_compensation_state_started=true, _is_asyncexecution=false, _current_statemachineengine=io.seata.saga.engine.impl.ProcessCtrlStateMachineEngine@20c3e7ae, ProcessType=STATE_LANG, context={demoDto=DemoDto(recordId=22, deptNoList=[33], flowRole=22), _businesskey=nectar:1588091465025, businessKey=nectar:1588091465025, itemNo=so_111, params={2222=DemoDto(recordId=22, deptNoList=[33], flowRole=22), throwOptionException=1}, _globaltransaction=io.seata.tm.api.DefaultGlobalTransaction@52344cc3, salaryResult=true}, _current_compensationholder=io.seata.saga.engine.pcext.utils.CompensationHolder@16e21293, _operationname=start}, instruction=io.seata.saga.engine.pcext.StateInstruction@278307f8, parent=null} java.lang.NumberFormatException: For input string: "a59a1a685963f80eabe52a0a3edbd43c" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at java.lang.Long.parseLong(Long.java:589) at java.lang.Long.parseLong(Long.java:631) at io.seata.saga.engine.store.db.DbAndReportTcStateLogStore.branchReport(DbAndReportTcStateLogStore.java:460) at io.seata.saga.engine.store.db.DbAndReportTcStateLogStore.recordStateFinished(DbAndReportTcStateLogStore.java:400) at io.seata.saga.engine.pcext.interceptors.ServiceTaskHandlerInterceptor.postProcess(ServiceTaskHandlerInterceptor.java:405) at io.seata.saga.engine.pcext.StateMachineProcessHandler.process(StateMachineProcessHandler.java:80) at io.seata.saga.proctrl.process.impl.CustomizeBusinessProcessor.process(CustomizeBusinessProcessor.java:70) at io.seata.saga.proctrl.impl.ProcessControllerImpl.process(ProcessControllerImpl.java:43) at io.seata.saga.proctrl.eventing.impl.ProcessCtrlEventConsumer.process(ProcessCtrlEventConsumer.java:35) at io.seata.saga.proctrl.eventing.impl.ProcessCtrlEventConsumer.process(ProcessCtrlEventConsumer.java:28) at io.seata.saga.proctrl.eventing.impl.DirectEventBus.offer(DirectEventBus.java:68) at io.seata.saga.proctrl.eventing.impl.DirectEventBus.offer(DirectEventBus.java:32) at io.seata.saga.proctrl.eventing.impl.ProcessCtrlEventPublisher.publish(ProcessCtrlEventPublisher.java:34) at io.seata.saga.engine.impl.ProcessCtrlStateMachineEngine.startInternal(ProcessCtrlStateMachineEngine.java:146) at io.seata.saga.engine.impl.ProcessCtrlStateMachineEngine.startWithBusinessKey(ProcessCtrlStateMachineEngine.java:88) at com.didiglobal.hr.nectar.front.domain.seata.action.example.NectarSeata.example(NectarSeata.java:78) 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:190) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:892) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1039) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:897) at javax.servlet.http.HttpServlet.service(HttpServlet.java:634) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882) at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:123) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:118) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:92) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:118) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:118) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:118) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:853) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1587) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748) [ERROR][2020-04-29T00:31:07.144+0800][GlobalExceptionHandler.java:137] _undef||traceid=ac1ea5b05ea85a49b622353c00000186||spanid=8000a5304367a766||_msg=uri: /api/front/seata/example, exception: io.seata.common.exception.FrameworkException: Unknown exception occurred at io.seata.saga.proctrl.impl.ProcessControllerImpl.process(ProcessControllerImpl.java:51) at io.seata.saga.proctrl.eventing.impl.ProcessCtrlEventConsumer.process(ProcessCtrlEventConsumer.java:35) at io.seata.saga.proctrl.eventing.impl.ProcessCtrlEventConsumer.process(ProcessCtrlEventConsumer.java:28) at io.seata.saga.proctrl.eventing.impl.DirectEventBus.offer(DirectEventBus.java:68) at io.seata.saga.proctrl.eventing.impl.DirectEventBus.offer(DirectEventBus.java:32) at io.seata.saga.proctrl.eventing.impl.ProcessCtrlEventPublisher.publish(ProcessCtrlEventPublisher.java:34) at io.seata.saga.engine.impl.ProcessCtrlStateMachineEngine.startInternal(ProcessCtrlStateMachineEngine.java:146) at io.seata.saga.engine.impl.ProcessCtrlStateMachineEngine.startWithBusinessKey(ProcessCtrlStateMachineEngine.java:88) at com.didiglobal.hr.nectar.front.domain.seata.action.example.NectarSeata.example(NectarSeata.java:78) 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:190) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:892) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1039) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:897) at javax.servlet.http.HttpServlet.service(HttpServlet.java:634) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882) at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:123) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:118) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:92) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:118) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:118) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:118) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:853) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1587) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.NumberFormatException: For input string: "a59a1a685963f80eabe52a0a3edbd43c" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at java.lang.Long.parseLong(Long.java:589) at java.lang.Long.parseLong(Long.java:631) at io.seata.saga.engine.store.db.DbAndReportTcStateLogStore.branchReport(DbAndReportTcStateLogStore.java:460) at io.seata.saga.engine.store.db.DbAndReportTcStateLogStore.recordStateFinished(DbAndReportTcStateLogStore.java:400) at io.seata.saga.engine.pcext.interceptors.ServiceTaskHandlerInterceptor.postProcess(ServiceTaskHandlerInterceptor.java:405) at io.seata.saga.engine.pcext.StateMachineProcessHandler.process(StateMachineProcessHandler.java:80) at io.seata.saga.proctrl.process.impl.CustomizeBusinessProcessor.process(CustomizeBusinessProcessor.java:70) at io.seata.saga.proctrl.impl.ProcessControllerImpl.process(ProcessControllerImpl.java:43) ... 65 more

long187 commented 4 years ago

升级到1.2.0试试,注意检测一下1.2.0版本的建表语句与你现在的是否一致