Jenyow commented on issue #13541:
URL: 
https://github.com/apache/shardingsphere/issues/13541#issuecomment-966437545


   Hi @strongduanmu. When I changed the version to 5.0.0-beta, it worked fine. 
But when I change the version to 5.0.0, it always print the exception. So I'm 
sure this is a bug in version 5.0.0.
   
   use 5.0.0-beta the log:
   ```
   ==>  Preparing: select count(id) from statistic_data
   ==> Parameters: 
   [2021-11-12 00:18:02] [INFO ] http-nio-8080-exec-1 --Logic SQL: select 
count(id)
           from statistic_data
   [2021-11-12 00:18:02] [INFO ] http-nio-8080-exec-1 --SQLStatement: 
MySQLSelectStatement(limit=Optional.empty, lock=Optional.empty, 
window=Optional.empty)
   [2021-11-12 00:18:02] [INFO ] http-nio-8080-exec-1 --Actual SQL: 
statistics2020 ::: select count(id)
           from statistic_data_1820A01
   [2021-11-12 00:18:02] [INFO ] http-nio-8080-exec-1 --Actual SQL: 
statistics2020 ::: select count(id)
           from statistic_data_1820A02
   [2021-11-12 00:18:02] [INFO ] http-nio-8080-exec-1 --Actual SQL: 
statistics2020 ::: select count(id)
           from statistic_data_1820A03
   [2021-11-12 00:18:02] [INFO ] http-nio-8080-exec-1 --Actual SQL: 
statistics2021 ::: select count(id)
           from statistic_data_1820A01
   [2021-11-12 00:18:02] [INFO ] http-nio-8080-exec-1 --Actual SQL: 
statistics2021 ::: select count(id)
           from statistic_data_1820A02
   [2021-11-12 00:18:02] [INFO ] http-nio-8080-exec-1 --Actual SQL: 
statistics2021 ::: select count(id)
           from statistic_data_1820A03
   [2021-11-12 00:18:02] [INFO ] http-nio-8080-exec-1 --Actual SQL: 
statistics2022 ::: select count(id)
           from statistic_data_1820A01
   [2021-11-12 00:18:02] [INFO ] http-nio-8080-exec-1 --Actual SQL: 
statistics2022 ::: select count(id)
           from statistic_data_1820A02
   [2021-11-12 00:18:02] [INFO ] http-nio-8080-exec-1 --Actual SQL: 
statistics2022 ::: select count(id)
           from statistic_data_1820A03
   <==    Columns: count(id)
   <==        Row: 0
   <==      Total: 1
   ``` 
   
   use 5.0.0 the log:
   ```
   ==>  Preparing: select count(id) from statistic_data
   ==> Parameters: 
   [2021-11-12 00:19:48] [INFO ] http-nio-8080-exec-1 --Logic SQL: select 
count(id)
           from statistic_data
   [2021-11-12 00:19:48] [INFO ] http-nio-8080-exec-1 --SQLStatement: 
MySQLSelectStatement(limit=Optional.empty, lock=Optional.empty, 
window=Optional.empty)
   [2021-11-12 00:19:48] [INFO ] http-nio-8080-exec-1 --Actual SQL: 
statistics2020 ::: select count(id)
           from statistic_data_1820A01
   [2021-11-12 00:19:48] [INFO ] http-nio-8080-exec-1 --Actual SQL: 
statistics2020 ::: select count(id)
           from statistic_data_1820A02
   [2021-11-12 00:19:48] [INFO ] http-nio-8080-exec-1 --Actual SQL: 
statistics2020 ::: select count(id)
           from statistic_data_1820A03
   [2021-11-12 00:19:48] [INFO ] http-nio-8080-exec-1 --Actual SQL: 
statistics2021 ::: select count(id)
           from statistic_data_1820A01
   [2021-11-12 00:19:48] [INFO ] http-nio-8080-exec-1 --Actual SQL: 
statistics2021 ::: select count(id)
           from statistic_data_1820A02
   [2021-11-12 00:19:48] [INFO ] http-nio-8080-exec-1 --Actual SQL: 
statistics2021 ::: select count(id)
           from statistic_data_1820A03
   [2021-11-12 00:19:48] [INFO ] http-nio-8080-exec-1 --Actual SQL: 
statistics2022 ::: select count(id)
           from statistic_data_1820A01
   [2021-11-12 00:19:48] [INFO ] http-nio-8080-exec-1 --Actual SQL: 
statistics2022 ::: select count(id)
           from statistic_data_1820A02
   [2021-11-12 00:19:48] [INFO ] http-nio-8080-exec-1 --Actual SQL: 
statistics2022 ::: select count(id)
           from statistic_data_1820A03
   Releasing transactional SqlSession 
[org.apache.ibatis.session.defaults.DefaultSqlSession@5d6494b7]
   Transaction synchronization deregistering SqlSession 
[org.apache.ibatis.session.defaults.DefaultSqlSession@5d6494b7]
   Transaction synchronization closing SqlSession 
[org.apache.ibatis.session.defaults.DefaultSqlSession@5d6494b7]
   [2021-11-12 00:19:48] [ERROR] http-nio-8080-exec-1 --Servlet.service() for 
servlet [dispatcherServlet] in context with path [] threw exception [Request 
processing failed; nested exception is 
org.mybatis.spring.MyBatisSystemException: nested exception is 
org.apache.ibatis.exceptions.PersistenceException: 
   ### Error querying database.  Cause: java.lang.NullPointerException
   ### The error may exist in file 
[E:\git\sharding-demo\target\classes\mapper\StatisticDataMapper.xml]
   ### The error may involve 
org.example.mapper.StatisticDataMapper.countStatisticData
   ### The error occurred while handling results
   ### SQL: select count(id)         from statistic_data
   ### Cause: java.lang.NullPointerException] with root cause
   java.lang.NullPointerException: null
        at 
org.apache.shardingsphere.sharding.merge.dql.groupby.GroupByMemoryMergedResult.getValueCaseSensitiveFromTables(GroupByMemoryMergedResult.java:134)
        at 
org.apache.shardingsphere.sharding.merge.dql.groupby.GroupByMemoryMergedResult.getValueCaseSensitive(GroupByMemoryMergedResult.java:124)
        at 
org.apache.shardingsphere.sharding.merge.dql.groupby.GroupByMemoryMergedResult.init(GroupByMemoryMergedResult.java:73)
        at 
org.apache.shardingsphere.sharding.merge.dql.groupby.GroupByMemoryMergedResult.init(GroupByMemoryMergedResult.java:53)
        at 
org.apache.shardingsphere.infra.merge.result.impl.memory.MemoryMergedResult.<init>(MemoryMergedResult.java:51)
        at 
org.apache.shardingsphere.sharding.merge.dql.groupby.GroupByMemoryMergedResult.<init>(GroupByMemoryMergedResult.java:56)
        at 
org.apache.shardingsphere.sharding.merge.dql.ShardingDQLResultMerger.getGroupByMergedResult(ShardingDQLResultMerger.java:108)
        at 
org.apache.shardingsphere.sharding.merge.dql.ShardingDQLResultMerger.build(ShardingDQLResultMerger.java:78)
        at 
org.apache.shardingsphere.sharding.merge.dql.ShardingDQLResultMerger.merge(ShardingDQLResultMerger.java:63)
        at 
org.apache.shardingsphere.infra.merge.MergeEngine.executeMerge(MergeEngine.java:90)
        at 
org.apache.shardingsphere.infra.merge.MergeEngine.merge(MergeEngine.java:80)
        at 
org.apache.shardingsphere.driver.jdbc.core.statement.ShardingSpherePreparedStatement.mergeQuery(ShardingSpherePreparedStatement.java:393)
        at 
org.apache.shardingsphere.driver.jdbc.core.statement.ShardingSpherePreparedStatement.getResultSet(ShardingSpherePreparedStatement.java:339)
        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.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:69)
        at com.sun.proxy.$Proxy232.getResultSet(Unknown Source)
        at 
org.apache.ibatis.executor.resultset.DefaultResultSetHandler.getFirstResultSet(DefaultResultSetHandler.java:238)
        at 
org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleResultSets(DefaultResultSetHandler.java:188)
        at 
org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65)
        at 
org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79)
        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.apache.ibatis.plugin.Plugin.invoke(Plugin.java:64)
        at com.sun.proxy.$Proxy231.query(Unknown Source)
        at 
org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:63)
        at 
org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325)
        at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156)
        at 
org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:109)
        at 
com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:81)
        at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:62)
        at com.sun.proxy.$Proxy230.query(Unknown Source)
        at 
org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:151)
        at 
org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:145)
        at 
org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)
        at 
org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:76)
        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.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427)
        at com.sun.proxy.$Proxy202.selectOne(Unknown Source)
        at 
org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:160)
        at 
com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:89)
        at 
com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148)
        at 
com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)
        at com.sun.proxy.$Proxy203.countStatisticData(Unknown Source)
        at 
org.example.service.impl.StatisticDataServiceImpl.countStatisticDatas(StatisticDataServiceImpl.java:20)
        at 
org.example.service.impl.StatisticDataServiceImpl$$FastClassBySpringCGLIB$$283450a2.invoke(<generated>)
        at 
org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
        at 
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
        at 
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)
        at 
org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:367)
        at 
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118)
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
        at 
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750)
        at 
org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692)
        at 
org.example.service.impl.StatisticDataServiceImpl$$EnhancerBySpringCGLIB$$d3ce665.countStatisticDatas(<generated>)
        at 
org.example.controller.StatisticDataController.countStatisticDatas(StatisticDataController.java:27)
        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:105)
        at 
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878)
        at 
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792)
        at 
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
        at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
        at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
        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:652)
        at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
        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 
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 
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 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
        at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
        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:374)
        at 
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
        at 
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)
        at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707)
        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)
   
   ```
   
   Please check it again. Thanks.


-- 
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]


Reply via email to