duanqiaoyanyu opened a new issue, #20246:
URL: https://github.com/apache/shardingsphere/issues/20246
## Question
sharding-jdbc 4.1.1 seata 1.5.2 sharding-transaction-base-seata-at4.1.1 use
ServiceA call Service B, A,B all has
@Transactională@ShardingTransactionType(value = TransactionType.BASE),
```
20:24:47.308 [http-nio-9544-exec-3] ERROR
org.springframework.jdbc.datasource.DataSourceTransactionManager - Commit
exception overridden by rollback exception
java.lang.NullPointerException: null
at
org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingTransactionManager.commit(SeataATShardingTransactionManager.java:110)
~[sharding-transaction-base-seata-at-4.1.1.jar:4.1.1]
at
org.apache.shardingsphere.shardingjdbc.jdbc.core.connection.ShardingConnection.commit(ShardingConnection.java:155)
~[sharding-jdbc-core-4.1.1.jar:4.1.1]
at
org.springframework.jdbc.datasource.DataSourceTransactionManager.doCommit(DataSourceTransactionManager.java:329)
~[spring-jdbc-5.2.8.RELEASE.jar:5.2.8.RELEASE]
at
org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:743)
[spring-tx-5.2.8.RELEASE.jar:5.2.8.RELEASE]
at
org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:711)
[spring-tx-5.2.8.RELEASE.jar:5.2.8.RELEASE]
at
org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:633)
[spring-tx-5.2.8.RELEASE.jar:5.2.8.RELEASE]
at
org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:386)
[spring-tx-5.2.8.RELEASE.jar:5.2.8.RELEASE]
at
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118)
[spring-tx-5.2.8.RELEASE.jar:5.2.8.RELEASE]
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
[spring-aop-5.2.8.RELEASE.jar:5.2.8.RELEASE]
at
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
[spring-aop-5.2.8.RELEASE.jar:5.2.8.RELEASE]
at
org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95)
[spring-aop-5.2.8.RELEASE.jar:5.2.8.RELEASE]
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
[spring-aop-5.2.8.RELEASE.jar:5.2.8.RELEASE]
at
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
[spring-aop-5.2.8.RELEASE.jar:5.2.8.RELEASE]
at
org.apache.shardingsphere.transaction.spring.ShardingTransactionTypeInterceptor.invoke(ShardingTransactionTypeInterceptor.java:41)
[sharding-transaction-spring-4.1.1.jar:4.1.1]
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
[spring-aop-5.2.8.RELEASE.jar:5.2.8.RELEASE]
at
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
[spring-aop-5.2.8.RELEASE.jar:5.2.8.RELEASE]
at
org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:691)
[spring-aop-5.2.8.RELEASE.jar:5.2.8.RELEASE]
at
com.xxx.xxx..service.impl.AccountServiceImpl$$EnhancerBySpringCGLIB$$35a2e94a.insertSeata(<generated>)
[classes/:?]
at
com.xxx.xxx..controller.AccountController.insertSeata(AccountController.java:35)
[classes/:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
~[?:?]
at
jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
~[?:?]
at
jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[?:?]
at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
at
org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)
[spring-web-5.2.8.RELEASE.jar:5.2.8.RELEASE]
at
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
[spring-web-5.2.8.RELEASE.jar:5.2.8.RELEASE]
at
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105)
[spring-webmvc-5.2.8.RELEASE.jar:5.2.8.RELEASE]
at
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878)
[spring-webmvc-5.2.8.RELEASE.jar:5.2.8.RELEASE]
at
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792)
[spring-webmvc-5.2.8.RELEASE.jar:5.2.8.RELEASE]
at
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
[spring-webmvc-5.2.8.RELEASE.jar:5.2.8.RELEASE]
at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
[spring-webmvc-5.2.8.RELEASE.jar:5.2.8.RELEASE]
at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
[spring-webmvc-5.2.8.RELEASE.jar:5.2.8.RELEASE]
at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
[spring-webmvc-5.2.8.RELEASE.jar:5.2.8.RELEASE]
at
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
[spring-webmvc-5.2.8.RELEASE.jar:5.2.8.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:652)
[tomcat-embed-core-9.0.37.jar:4.0.FR]
at
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
[spring-webmvc-5.2.8.RELEASE.jar:5.2.8.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
[tomcat-embed-core-9.0.37.jar:4.0.FR]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
[tomcat-embed-core-9.0.37.jar:9.0.37]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
[tomcat-embed-core-9.0.37.jar:9.0.37]
at
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
[tomcat-embed-websocket-9.0.37.jar:9.0.37]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
[tomcat-embed-core-9.0.37.jar:9.0.37]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
[tomcat-embed-core-9.0.37.jar:9.0.37]
at
org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
[spring-web-5.2.8.RELEASE.jar:5.2.8.RELEASE]
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
[spring-web-5.2.8.RELEASE.jar:5.2.8.RELEASE]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
[tomcat-embed-core-9.0.37.jar:9.0.37]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
[tomcat-embed-core-9.0.37.jar:9.0.37]
at
org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
[spring-web-5.2.8.RELEASE.jar:5.2.8.RELEASE]
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
[spring-web-5.2.8.RELEASE.jar:5.2.8.RELEASE]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
[tomcat-embed-core-9.0.37.jar:9.0.37]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
[tomcat-embed-core-9.0.37.jar:9.0.37]
at
org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:93)
[spring-boot-actuator-2.3.2.RELEASE.jar:2.3.2.RELEASE]
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
[spring-web-5.2.8.RELEASE.jar:5.2.8.RELEASE]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
[tomcat-embed-core-9.0.37.jar:9.0.37]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
[tomcat-embed-core-9.0.37.jar:9.0.37]
at
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
[spring-web-5.2.8.RELEASE.jar:5.2.8.RELEASE]
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
[spring-web-5.2.8.RELEASE.jar:5.2.8.RELEASE]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
[tomcat-embed-core-9.0.37.jar:9.0.37]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
[tomcat-embed-core-9.0.37.jar:9.0.37]
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
[tomcat-embed-core-9.0.37.jar:9.0.37]
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
[tomcat-embed-core-9.0.37.jar:9.0.37]
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
[tomcat-embed-core-9.0.37.jar:9.0.37]
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
[tomcat-embed-core-9.0.37.jar:9.0.37]
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
[tomcat-embed-core-9.0.37.jar:9.0.37]
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
[tomcat-embed-core-9.0.37.jar:9.0.37]
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
[tomcat-embed-core-9.0.37.jar:9.0.37]
at
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373)
[tomcat-embed-core-9.0.37.jar:9.0.37]
at
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
[tomcat-embed-core-9.0.37.jar:9.0.37]
at
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
[tomcat-embed-core-9.0.37.jar:9.0.37]
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1589)
[tomcat-embed-core-9.0.37.jar:9.0.37]
at
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
[tomcat-embed-core-9.0.37.jar:9.0.37]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
[?:?]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
[?:?]
at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
[tomcat-embed-core-9.0.37.jar:9.0.37]
at java.lang.Thread.run(Thread.java:834) [?:?]
20:24:47.309 [http-nio-9544-exec-3] ERROR
org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/xxx-mixed].[dispatcherServlet]
- Servlet.service() for servlet [dispatcherServlet] in context with path
[/xxx-mixed] threw exception [Request processing failed; nested exception is
java.lang.NullPointerException] with root cause
java.lang.NullPointerException: null
at
org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingTransactionManager.rollback(SeataATShardingTransactionManager.java:122)
~[sharding-transaction-base-seata-at-4.1.1.jar:4.1.1]
at
org.apache.shardingsphere.shardingjdbc.jdbc.core.connection.ShardingConnection.rollback(ShardingConnection.java:164)
~[sharding-jdbc-core-4.1.1.jar:4.1.1]
at
org.springframework.jdbc.datasource.DataSourceTransactionManager.doRollback(DataSourceTransactionManager.java:344)
~[spring-jdbc-5.2.8.RELEASE.jar:5.2.8.RELEASE]
at
org.springframework.transaction.support.AbstractPlatformTransactionManager.doRollbackOnCommitException(AbstractPlatformTransactionManager.java:892)
~[spring-tx-5.2.8.RELEASE.jar:5.2.8.RELEASE]
```
**Even if I change to the latest version sharding-jdbc
sharding-transaction-base-seata-at 5.1.2, the same error is still reported,
and it is still a null pointer. Is there something wrong with my configuration?
Or is the annotation used incorrectly?**
**For English only**, other languages will not accept.
Before asking a question, make sure you have:
- Googled your question.
- Searched open and closed [GitHub
issues](https://github.com/apache/shardingsphere/issues).
- Read documentation: [ShardingSphere
Doc](https://shardingsphere.apache.org/document/current/en/overview).
Please pay attention on issues you submitted, because we maybe need more
details.
If no response anymore and we cannot reproduce it on current information, we
will **close it**.
--
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]