You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by GitBox <gi...@apache.org> on 2022/12/07 09:12:36 UTC

[GitHub] [shardingsphere] youngMvcBrother opened a new issue, #22719: Use auditStrategy to cause duplicate generation keyGenerator

youngMvcBrother opened a new issue, #22719:
URL: https://github.com/apache/shardingsphere/issues/22719

   **Let's start with the question: Is it correct for me to use auditStrategy ?**
   
   **version:**
   shardingsphere-5.2.1
   **example:**
   url: https://github.com/apache/shardingsphere/tree/5.2.1/examples/shardingsphere-jdbc-example/single-feature-example/sharding-example/sharding-spring-boot-mybatis-example
   
   **My Configuration:**
   ```yaml
   dataSources:
     ds_0:
       dataSourceClassName: com.zaxxer.hikari.HikariDataSource
       driverClassName: com.mysql.jdbc.Driver
       jdbcUrl: jdbc:mysql://127.0.0.1:3306/demo_ds_0?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=UTF-8
       username: root
       password: 
       connectionTimeoutMilliseconds: 30000
       idleTimeoutMilliseconds: 60000
       maxLifetimeMilliseconds: 1800000
       maxPoolSize: 10
       minimumIdle: 2
       maximumPoolSize: 2
   
     ds_1:
       dataSourceClassName: com.zaxxer.hikari.HikariDataSource
       driverClassName: com.mysql.jdbc.Driver
       jdbcUrl: jdbc:mysql://127.0.0.1:3306/demo_ds_1?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=UTF-8
       username: root
       password: 
       connectionTimeoutMilliseconds: 30000
       idleTimeoutMilliseconds: 60000
       maxLifetimeMilliseconds: 1800000
       maxPoolSize: 2
   
   rules:
     - !SHARDING
       tables:
         t_order:
           actualDataNodes: ds_${0..1}.t_order_${0..1}
           tableStrategy:
             standard:
               shardingColumn: order_id
               shardingAlgorithmName: t_order_inline
           keyGenerateStrategy:
             column: order_id
             keyGeneratorName: snowflake
           auditStrategy:
             auditorNames:
               - sharding_key_required_auditor
             allowHintDisable: true
         t_order_item:
           actualDataNodes: ds_${0..1}.t_order_item_${0..1}
           tableStrategy:
             standard:
               shardingColumn: order_id
               shardingAlgorithmName: t_order_item_inline
           keyGenerateStrategy:
             column: order_item_id
             keyGeneratorName: snowflake
   #    defaultShardingColumn: account_id
       bindingTables:
         - t_order,t_order_item
       broadcastTables:
         - t_address
       defaultDatabaseStrategy:
         standard:
           shardingColumn: user_id
           shardingAlgorithmName: database_inline
       defaultTableStrategy:
         none:
   
       shardingAlgorithms:
         database_inline:
           type: INLINE
           props:
             algorithm-expression: ds_${user_id % 2}
         t_order_inline:
           type: INLINE
           props:
             algorithm-expression: t_order_${order_id % 2}
         t_order_item_inline:
           type: INLINE
           props:
             algorithm-expression: t_order_item_${order_id % 2}
       keyGenerators:
         snowflake:
           type: SNOWFLAKE
       auditors:
         sharding_key_required_auditor:
           type: DML_SHARDING_CONDITIONS
   
   props:
     sql-show: true
   ```
   **add one Configuration**
   ```yaml
   auditStrategy:
     auditorNames:
       - sharding_key_required_auditor
     allowHintDisable: true
   ```
   **Run Exception**
   ```java
   -------------- Process Success Begin ---------------
   ---------------------------- Insert Data ----------------------------
   [INFO ] 2022-12-07 16:56:04,960 --main-- [ShardingSphere-SQL] Logic SQL: INSERT INTO t_order (user_id, address_id, status) VALUES (?, ?, ?); 
   [INFO ] 2022-12-07 16:56:04,960 --main-- [ShardingSphere-SQL] SQLStatement: MySQLInsertStatement(super=InsertStatement(super=AbstractSQLStatement(parameterCount=3, parameterMarkerSegments=[ParameterMarkerExpressionSegment(startIndex=58, stopIndex=58, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)], commentSegments=[]), table=SimpleTableSegment(tableName=TableNameSegment(startIndex=12, stopIndex=18, identifier=IdentifierValue(value=t_order, quoteCharacter=NONE)), owner=Optional.empty, alias=Optional.empty), insertColumns=Optional[InsertColumnsSegment(startIndex=20, stopIndex=48, columns=[ColumnSegment(startIndex=21, stopIndex=27, identifier=IdentifierValue(value=user_id, quoteChar
 acter=NONE), owner=Optional.empty), ColumnSegment(startIndex=30, stopIndex=39, identifier=IdentifierValue(value=address_id, quoteCharacter=NONE), owner=Optional.empty), ColumnSegment(startIndex=42, stopIndex=47, identifier=IdentifierValue(value=status, quoteCharacter=NONE), owner=Optional.empty)])], insertSelect=Optional.empty, values=[InsertValuesSegment(startIndex=57, stopIndex=65, values=[ParameterMarkerExpressionSegment(startIndex=58, stopIndex=58, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)])]), setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) 
   [INFO ] 2022-12-07 16:56:04,961 --main-- [ShardingSphere-SQL] Actual SQL: ds_1 ::: INSERT INTO t_order_0 (user_id, address_id, status, order_id) VALUES (?, ?, ?, ?); ::: [1, 1, INSERT_TEST, 807293480752644096] 
   [INFO ] 2022-12-07 16:56:05,132 --main-- [org.quartz.core.QuartzScheduler] Scheduler quartzScheduler_$_NON_CLUSTERED paused. 
   [INFO ] 2022-12-07 16:56:05,132 --main-- [org.springframework.scheduling.quartz.SchedulerFactoryBean] Shutting down Quartz Scheduler 
   [INFO ] 2022-12-07 16:56:05,132 --main-- [org.quartz.core.QuartzScheduler] Scheduler quartzScheduler_$_NON_CLUSTERED shutting down. 
   [INFO ] 2022-12-07 16:56:05,132 --main-- [org.quartz.core.QuartzScheduler] Scheduler quartzScheduler_$_NON_CLUSTERED paused. 
   [INFO ] 2022-12-07 16:56:05,133 --main-- [org.quartz.core.QuartzScheduler] Scheduler quartzScheduler_$_NON_CLUSTERED shutdown complete. 
   [INFO ] 2022-12-07 16:56:05,135 --main-- [com.zaxxer.hikari.HikariDataSource] HikariPool-2 - Shutdown initiated... 
   [INFO ] 2022-12-07 16:56:05,139 --main-- [com.zaxxer.hikari.HikariDataSource] HikariPool-2 - Shutdown completed. 
   [INFO ] 2022-12-07 16:56:05,139 --main-- [com.zaxxer.hikari.HikariDataSource] HikariPool-3 - Shutdown initiated... 
   [INFO ] 2022-12-07 16:56:05,141 --main-- [com.zaxxer.hikari.HikariDataSource] HikariPool-3 - Shutdown completed. 
   [INFO ] 2022-12-07 16:56:05,142 --main-- [com.zaxxer.hikari.HikariDataSource] HikariPool-1 - Shutdown initiated... 
   [INFO ] 2022-12-07 16:56:05,147 --main-- [com.zaxxer.hikari.HikariDataSource] HikariPool-1 - Shutdown completed. 
   Exception in thread "main" org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.executor.ExecutorException: Error getting generated key or setting result to parameter object. Cause: org.apache.ibatis.executor.ExecutorException: Too many keys are generated. There are only 1 target objects. You either specified a wrong 'keyProperty' or encountered a driver bug like #1523.
   	at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92)
   	at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440)
   	at com.sun.proxy.$Proxy59.insert(Unknown Source)
   	at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:271)
   	at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:62)
   	at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:145)
   	at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86)
   	at com.sun.proxy.$Proxy60.insert(Unknown Source)
   	at org.apache.shardingsphere.example.core.mybatis.service.OrderServiceImpl.insertData(OrderServiceImpl.java:103)
   	at org.apache.shardingsphere.example.core.mybatis.service.OrderServiceImpl.processSuccess(OrderServiceImpl.java:79)
   	at org.apache.shardingsphere.example.core.mybatis.service.OrderServiceImpl$$FastClassBySpringCGLIB$$bc37129f.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.apache.shardingsphere.example.core.mybatis.service.OrderServiceImpl$$EnhancerBySpringCGLIB$$92b5d05b.processSuccess(<generated>)
   	at org.apache.shardingsphere.example.core.api.ExampleExecuteTemplate.run(ExampleExecuteTemplate.java:29)
   	at org.apache.shardingsphere.example.sharding.spring.boot.mybatis.ShardingSpringBootMybatisExample.main(ShardingSpringBootMybatisExample.java:38)
   ```
   
   **debug found repeated generation keyGenerator**
   **one**
   ![image](https://user-images.githubusercontent.com/13623260/206135266-45a97fea-50f6-4171-a3ea-894aea5ca6b9.png)
   **two**
   ![image](https://user-images.githubusercontent.com/13623260/206135424-85173381-990b-47a2-9a12-9f51c9ee3c56.png)
   ![image](https://user-images.githubusercontent.com/13623260/206135514-f3033134-7acc-4a08-9eb6-dc4d04d600db.png)
   **generatedValues**
   ![image](https://user-images.githubusercontent.com/13623260/206135713-1c04a5e3-1843-4a5e-bbf3-f9cc946f2bbb.png)
   
   **If the configuration is removed, the run is normal**
   ```yaml
   auditStrategy:
     auditorNames:
       - sharding_key_required_auditor
     allowHintDisable: true
   ```
   ![image](https://user-images.githubusercontent.com/13623260/206136838-03ab23c4-1479-45b6-aba3-362a44b88260.png)
   
   ```java
   -------------- Process Success Begin ---------------
   ---------------------------- Insert Data ----------------------------
   [INFO ] 2022-12-07 17:10:51,405 --main-- [ShardingSphere-SQL] Logic SQL: INSERT INTO t_order (user_id, address_id, status) VALUES (?, ?, ?); 
   [INFO ] 2022-12-07 17:10:51,405 --main-- [ShardingSphere-SQL] SQLStatement: MySQLInsertStatement(super=InsertStatement(super=AbstractSQLStatement(parameterCount=3, parameterMarkerSegments=[ParameterMarkerExpressionSegment(startIndex=58, stopIndex=58, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)], commentSegments=[]), table=SimpleTableSegment(tableName=TableNameSegment(startIndex=12, stopIndex=18, identifier=IdentifierValue(value=t_order, quoteCharacter=NONE)), owner=Optional.empty, alias=Optional.empty), insertColumns=Optional[InsertColumnsSegment(startIndex=20, stopIndex=48, columns=[ColumnSegment(startIndex=21, stopIndex=27, identifier=IdentifierValue(value=user_id, quoteChar
 acter=NONE), owner=Optional.empty), ColumnSegment(startIndex=30, stopIndex=39, identifier=IdentifierValue(value=address_id, quoteCharacter=NONE), owner=Optional.empty), ColumnSegment(startIndex=42, stopIndex=47, identifier=IdentifierValue(value=status, quoteCharacter=NONE), owner=Optional.empty)])], insertSelect=Optional.empty, values=[InsertValuesSegment(startIndex=57, stopIndex=65, values=[ParameterMarkerExpressionSegment(startIndex=58, stopIndex=58, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)])]), setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) 
   [INFO ] 2022-12-07 17:10:51,406 --main-- [ShardingSphere-SQL] Actual SQL: ds_1 ::: INSERT INTO t_order_0 (user_id, address_id, status, order_id) VALUES (?, ?, ?, ?); ::: [1, 1, INSERT_TEST, 807297199477096448] 
   [INFO ] 2022-12-07 17:10:51,493 --main-- [ShardingSphere-SQL] Logic SQL: INSERT INTO t_order_item (order_id, user_id, status) VALUES (?, ?, ?); 
   [INFO ] 2022-12-07 17:10:51,493 --main-- [ShardingSphere-SQL] SQLStatement: MySQLInsertStatement(super=InsertStatement(super=AbstractSQLStatement(parameterCount=3, parameterMarkerSegments=[ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=67, stopIndex=67, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)], commentSegments=[]), table=SimpleTableSegment(tableName=TableNameSegment(startIndex=12, stopIndex=23, identifier=IdentifierValue(value=t_order_item, quoteCharacter=NONE)), owner=Optional.empty, alias=Optional.empty), insertColumns=Optional[InsertColumnsSegment(startIndex=25, stopIndex=51, columns=[ColumnSegment(startIndex=26, stopIndex=33, identifier=IdentifierValue(value=order_id, quo
 teCharacter=NONE), owner=Optional.empty), ColumnSegment(startIndex=36, stopIndex=42, identifier=IdentifierValue(value=user_id, quoteCharacter=NONE), owner=Optional.empty), ColumnSegment(startIndex=45, stopIndex=50, identifier=IdentifierValue(value=status, quoteCharacter=NONE), owner=Optional.empty)])], insertSelect=Optional.empty, values=[InsertValuesSegment(startIndex=60, stopIndex=68, values=[ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=67, stopIndex=67, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)])]), setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) 
   [INFO ] 2022-12-07 17:10:51,493 --main-- [ShardingSphere-SQL] Actual SQL: ds_1 ::: INSERT INTO t_order_item_0 (order_id, user_id, status, order_item_id) VALUES (?, ?, ?, ?); ::: [807297199477096448, 1, INSERT_TEST, 807297200605364225] 
   [INFO ] 2022-12-07 17:10:51,510 --main-- [ShardingSphere-SQL] Logic SQL: INSERT INTO t_order (user_id, address_id, status) VALUES (?, ?, ?); 
   [INFO ] 2022-12-07 17:10:51,510 --main-- [ShardingSphere-SQL] SQLStatement: MySQLInsertStatement(super=InsertStatement(super=AbstractSQLStatement(parameterCount=3, parameterMarkerSegments=[ParameterMarkerExpressionSegment(startIndex=58, stopIndex=58, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)], commentSegments=[]), table=SimpleTableSegment(tableName=TableNameSegment(startIndex=12, stopIndex=18, identifier=IdentifierValue(value=t_order, quoteCharacter=NONE)), owner=Optional.empty, alias=Optional.empty), insertColumns=Optional[InsertColumnsSegment(startIndex=20, stopIndex=48, columns=[ColumnSegment(startIndex=21, stopIndex=27, identifier=IdentifierValue(value=user_id, quoteChar
 acter=NONE), owner=Optional.empty), ColumnSegment(startIndex=30, stopIndex=39, identifier=IdentifierValue(value=address_id, quoteCharacter=NONE), owner=Optional.empty), ColumnSegment(startIndex=42, stopIndex=47, identifier=IdentifierValue(value=status, quoteCharacter=NONE), owner=Optional.empty)])], insertSelect=Optional.empty, values=[InsertValuesSegment(startIndex=57, stopIndex=65, values=[ParameterMarkerExpressionSegment(startIndex=58, stopIndex=58, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)])]), setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) 
   [INFO ] 2022-12-07 17:10:51,510 --main-- [ShardingSphere-SQL] Actual SQL: ds_0 ::: INSERT INTO t_order_0 (user_id, address_id, status, order_id) VALUES (?, ?, ?, ?); ::: [2, 2, INSERT_TEST, 807297200722804736] 
   [INFO ] 2022-12-07 17:10:51,542 --main-- [ShardingSphere-SQL] Logic SQL: INSERT INTO t_order_item (order_id, user_id, status) VALUES (?, ?, ?); 
   [INFO ] 2022-12-07 17:10:51,542 --main-- [ShardingSphere-SQL] SQLStatement: MySQLInsertStatement(super=InsertStatement(super=AbstractSQLStatement(parameterCount=3, parameterMarkerSegments=[ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=67, stopIndex=67, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)], commentSegments=[]), table=SimpleTableSegment(tableName=TableNameSegment(startIndex=12, stopIndex=23, identifier=IdentifierValue(value=t_order_item, quoteCharacter=NONE)), owner=Optional.empty, alias=Optional.empty), insertColumns=Optional[InsertColumnsSegment(startIndex=25, stopIndex=51, columns=[ColumnSegment(startIndex=26, stopIndex=33, identifier=IdentifierValue(value=order_id, quo
 teCharacter=NONE), owner=Optional.empty), ColumnSegment(startIndex=36, stopIndex=42, identifier=IdentifierValue(value=user_id, quoteCharacter=NONE), owner=Optional.empty), ColumnSegment(startIndex=45, stopIndex=50, identifier=IdentifierValue(value=status, quoteCharacter=NONE), owner=Optional.empty)])], insertSelect=Optional.empty, values=[InsertValuesSegment(startIndex=60, stopIndex=68, values=[ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=67, stopIndex=67, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)])]), setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) 
   [INFO ] 2022-12-07 17:10:51,543 --main-- [ShardingSphere-SQL] Actual SQL: ds_0 ::: INSERT INTO t_order_item_0 (order_id, user_id, status, order_item_id) VALUES (?, ?, ?, ?); ::: [807297200722804736, 2, INSERT_TEST, 807297200861216769] 
   [INFO ] 2022-12-07 17:10:51,558 --main-- [ShardingSphere-SQL] Logic SQL: INSERT INTO t_order (user_id, address_id, status) VALUES (?, ?, ?); 
   [INFO ] 2022-12-07 17:10:51,558 --main-- [ShardingSphere-SQL] SQLStatement: MySQLInsertStatement(super=InsertStatement(super=AbstractSQLStatement(parameterCount=3, parameterMarkerSegments=[ParameterMarkerExpressionSegment(startIndex=58, stopIndex=58, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)], commentSegments=[]), table=SimpleTableSegment(tableName=TableNameSegment(startIndex=12, stopIndex=18, identifier=IdentifierValue(value=t_order, quoteCharacter=NONE)), owner=Optional.empty, alias=Optional.empty), insertColumns=Optional[InsertColumnsSegment(startIndex=20, stopIndex=48, columns=[ColumnSegment(startIndex=21, stopIndex=27, identifier=IdentifierValue(value=user_id, quoteChar
 acter=NONE), owner=Optional.empty), ColumnSegment(startIndex=30, stopIndex=39, identifier=IdentifierValue(value=address_id, quoteCharacter=NONE), owner=Optional.empty), ColumnSegment(startIndex=42, stopIndex=47, identifier=IdentifierValue(value=status, quoteCharacter=NONE), owner=Optional.empty)])], insertSelect=Optional.empty, values=[InsertValuesSegment(startIndex=57, stopIndex=65, values=[ParameterMarkerExpressionSegment(startIndex=58, stopIndex=58, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)])]), setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) 
   [INFO ] 2022-12-07 17:10:51,558 --main-- [ShardingSphere-SQL] Actual SQL: ds_1 ::: INSERT INTO t_order_0 (user_id, address_id, status, order_id) VALUES (?, ?, ?, ?); ::: [3, 3, INSERT_TEST, 807297200928325632] 
   [INFO ] 2022-12-07 17:10:51,566 --main-- [ShardingSphere-SQL] Logic SQL: INSERT INTO t_order_item (order_id, user_id, status) VALUES (?, ?, ?); 
   [INFO ] 2022-12-07 17:10:51,566 --main-- [ShardingSphere-SQL] SQLStatement: MySQLInsertStatement(super=InsertStatement(super=AbstractSQLStatement(parameterCount=3, parameterMarkerSegments=[ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=67, stopIndex=67, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)], commentSegments=[]), table=SimpleTableSegment(tableName=TableNameSegment(startIndex=12, stopIndex=23, identifier=IdentifierValue(value=t_order_item, quoteCharacter=NONE)), owner=Optional.empty, alias=Optional.empty), insertColumns=Optional[InsertColumnsSegment(startIndex=25, stopIndex=51, columns=[ColumnSegment(startIndex=26, stopIndex=33, identifier=IdentifierValue(value=order_id, quo
 teCharacter=NONE), owner=Optional.empty), ColumnSegment(startIndex=36, stopIndex=42, identifier=IdentifierValue(value=user_id, quoteCharacter=NONE), owner=Optional.empty), ColumnSegment(startIndex=45, stopIndex=50, identifier=IdentifierValue(value=status, quoteCharacter=NONE), owner=Optional.empty)])], insertSelect=Optional.empty, values=[InsertValuesSegment(startIndex=60, stopIndex=68, values=[ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=67, stopIndex=67, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)])]), setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) 
   [INFO ] 2022-12-07 17:10:51,566 --main-- [ShardingSphere-SQL] Actual SQL: ds_1 ::: INSERT INTO t_order_item_0 (order_id, user_id, status, order_item_id) VALUES (?, ?, ?, ?); ::: [807297200928325632, 3, INSERT_TEST, 807297200957685761] 
   [INFO ] 2022-12-07 17:10:51,573 --main-- [ShardingSphere-SQL] Logic SQL: INSERT INTO t_order (user_id, address_id, status) VALUES (?, ?, ?); 
   [INFO ] 2022-12-07 17:10:51,573 --main-- [ShardingSphere-SQL] SQLStatement: MySQLInsertStatement(super=InsertStatement(super=AbstractSQLStatement(parameterCount=3, parameterMarkerSegments=[ParameterMarkerExpressionSegment(startIndex=58, stopIndex=58, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)], commentSegments=[]), table=SimpleTableSegment(tableName=TableNameSegment(startIndex=12, stopIndex=18, identifier=IdentifierValue(value=t_order, quoteCharacter=NONE)), owner=Optional.empty, alias=Optional.empty), insertColumns=Optional[InsertColumnsSegment(startIndex=20, stopIndex=48, columns=[ColumnSegment(startIndex=21, stopIndex=27, identifier=IdentifierValue(value=user_id, quoteChar
 acter=NONE), owner=Optional.empty), ColumnSegment(startIndex=30, stopIndex=39, identifier=IdentifierValue(value=address_id, quoteCharacter=NONE), owner=Optional.empty), ColumnSegment(startIndex=42, stopIndex=47, identifier=IdentifierValue(value=status, quoteCharacter=NONE), owner=Optional.empty)])], insertSelect=Optional.empty, values=[InsertValuesSegment(startIndex=57, stopIndex=65, values=[ParameterMarkerExpressionSegment(startIndex=58, stopIndex=58, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)])]), setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) 
   [INFO ] 2022-12-07 17:10:51,573 --main-- [ShardingSphere-SQL] Actual SQL: ds_0 ::: INSERT INTO t_order_0 (user_id, address_id, status, order_id) VALUES (?, ?, ?, ?); ::: [4, 4, INSERT_TEST, 807297200991240192] 
   [INFO ] 2022-12-07 17:10:51,581 --main-- [ShardingSphere-SQL] Logic SQL: INSERT INTO t_order_item (order_id, user_id, status) VALUES (?, ?, ?); 
   [INFO ] 2022-12-07 17:10:51,581 --main-- [ShardingSphere-SQL] SQLStatement: MySQLInsertStatement(super=InsertStatement(super=AbstractSQLStatement(parameterCount=3, parameterMarkerSegments=[ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=67, stopIndex=67, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)], commentSegments=[]), table=SimpleTableSegment(tableName=TableNameSegment(startIndex=12, stopIndex=23, identifier=IdentifierValue(value=t_order_item, quoteCharacter=NONE)), owner=Optional.empty, alias=Optional.empty), insertColumns=Optional[InsertColumnsSegment(startIndex=25, stopIndex=51, columns=[ColumnSegment(startIndex=26, stopIndex=33, identifier=IdentifierValue(value=order_id, quo
 teCharacter=NONE), owner=Optional.empty), ColumnSegment(startIndex=36, stopIndex=42, identifier=IdentifierValue(value=user_id, quoteCharacter=NONE), owner=Optional.empty), ColumnSegment(startIndex=45, stopIndex=50, identifier=IdentifierValue(value=status, quoteCharacter=NONE), owner=Optional.empty)])], insertSelect=Optional.empty, values=[InsertValuesSegment(startIndex=60, stopIndex=68, values=[ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=67, stopIndex=67, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)])]), setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) 
   [INFO ] 2022-12-07 17:10:51,581 --main-- [ShardingSphere-SQL] Actual SQL: ds_0 ::: INSERT INTO t_order_item_0 (order_id, user_id, status, order_item_id) VALUES (?, ?, ?, ?); ::: [807297200991240192, 4, INSERT_TEST, 807297201020600321] 
   [INFO ] 2022-12-07 17:10:51,588 --main-- [ShardingSphere-SQL] Logic SQL: INSERT INTO t_order (user_id, address_id, status) VALUES (?, ?, ?); 
   [INFO ] 2022-12-07 17:10:51,588 --main-- [ShardingSphere-SQL] SQLStatement: MySQLInsertStatement(super=InsertStatement(super=AbstractSQLStatement(parameterCount=3, parameterMarkerSegments=[ParameterMarkerExpressionSegment(startIndex=58, stopIndex=58, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)], commentSegments=[]), table=SimpleTableSegment(tableName=TableNameSegment(startIndex=12, stopIndex=18, identifier=IdentifierValue(value=t_order, quoteCharacter=NONE)), owner=Optional.empty, alias=Optional.empty), insertColumns=Optional[InsertColumnsSegment(startIndex=20, stopIndex=48, columns=[ColumnSegment(startIndex=21, stopIndex=27, identifier=IdentifierValue(value=user_id, quoteChar
 acter=NONE), owner=Optional.empty), ColumnSegment(startIndex=30, stopIndex=39, identifier=IdentifierValue(value=address_id, quoteCharacter=NONE), owner=Optional.empty), ColumnSegment(startIndex=42, stopIndex=47, identifier=IdentifierValue(value=status, quoteCharacter=NONE), owner=Optional.empty)])], insertSelect=Optional.empty, values=[InsertValuesSegment(startIndex=57, stopIndex=65, values=[ParameterMarkerExpressionSegment(startIndex=58, stopIndex=58, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)])]), setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) 
   [INFO ] 2022-12-07 17:10:51,588 --main-- [ShardingSphere-SQL] Actual SQL: ds_1 ::: INSERT INTO t_order_0 (user_id, address_id, status, order_id) VALUES (?, ?, ?, ?); ::: [5, 5, INSERT_TEST, 807297201049960448] 
   [INFO ] 2022-12-07 17:10:51,596 --main-- [ShardingSphere-SQL] Logic SQL: INSERT INTO t_order_item (order_id, user_id, status) VALUES (?, ?, ?); 
   [INFO ] 2022-12-07 17:10:51,596 --main-- [ShardingSphere-SQL] SQLStatement: MySQLInsertStatement(super=InsertStatement(super=AbstractSQLStatement(parameterCount=3, parameterMarkerSegments=[ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=67, stopIndex=67, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)], commentSegments=[]), table=SimpleTableSegment(tableName=TableNameSegment(startIndex=12, stopIndex=23, identifier=IdentifierValue(value=t_order_item, quoteCharacter=NONE)), owner=Optional.empty, alias=Optional.empty), insertColumns=Optional[InsertColumnsSegment(startIndex=25, stopIndex=51, columns=[ColumnSegment(startIndex=26, stopIndex=33, identifier=IdentifierValue(value=order_id, quo
 teCharacter=NONE), owner=Optional.empty), ColumnSegment(startIndex=36, stopIndex=42, identifier=IdentifierValue(value=user_id, quoteCharacter=NONE), owner=Optional.empty), ColumnSegment(startIndex=45, stopIndex=50, identifier=IdentifierValue(value=status, quoteCharacter=NONE), owner=Optional.empty)])], insertSelect=Optional.empty, values=[InsertValuesSegment(startIndex=60, stopIndex=68, values=[ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=67, stopIndex=67, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)])]), setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) 
   [INFO ] 2022-12-07 17:10:51,596 --main-- [ShardingSphere-SQL] Actual SQL: ds_1 ::: INSERT INTO t_order_item_0 (order_id, user_id, status, order_item_id) VALUES (?, ?, ?, ?); ::: [807297201049960448, 5, INSERT_TEST, 807297201087709185] 
   [INFO ] 2022-12-07 17:10:51,604 --main-- [ShardingSphere-SQL] Logic SQL: INSERT INTO t_order (user_id, address_id, status) VALUES (?, ?, ?); 
   [INFO ] 2022-12-07 17:10:51,604 --main-- [ShardingSphere-SQL] SQLStatement: MySQLInsertStatement(super=InsertStatement(super=AbstractSQLStatement(parameterCount=3, parameterMarkerSegments=[ParameterMarkerExpressionSegment(startIndex=58, stopIndex=58, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)], commentSegments=[]), table=SimpleTableSegment(tableName=TableNameSegment(startIndex=12, stopIndex=18, identifier=IdentifierValue(value=t_order, quoteCharacter=NONE)), owner=Optional.empty, alias=Optional.empty), insertColumns=Optional[InsertColumnsSegment(startIndex=20, stopIndex=48, columns=[ColumnSegment(startIndex=21, stopIndex=27, identifier=IdentifierValue(value=user_id, quoteChar
 acter=NONE), owner=Optional.empty), ColumnSegment(startIndex=30, stopIndex=39, identifier=IdentifierValue(value=address_id, quoteCharacter=NONE), owner=Optional.empty), ColumnSegment(startIndex=42, stopIndex=47, identifier=IdentifierValue(value=status, quoteCharacter=NONE), owner=Optional.empty)])], insertSelect=Optional.empty, values=[InsertValuesSegment(startIndex=57, stopIndex=65, values=[ParameterMarkerExpressionSegment(startIndex=58, stopIndex=58, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)])]), setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) 
   [INFO ] 2022-12-07 17:10:51,604 --main-- [ShardingSphere-SQL] Actual SQL: ds_0 ::: INSERT INTO t_order_0 (user_id, address_id, status, order_id) VALUES (?, ?, ?, ?); ::: [6, 6, INSERT_TEST, 807297201117069312] 
   [INFO ] 2022-12-07 17:10:51,611 --main-- [ShardingSphere-SQL] Logic SQL: INSERT INTO t_order_item (order_id, user_id, status) VALUES (?, ?, ?); 
   [INFO ] 2022-12-07 17:10:51,611 --main-- [ShardingSphere-SQL] SQLStatement: MySQLInsertStatement(super=InsertStatement(super=AbstractSQLStatement(parameterCount=3, parameterMarkerSegments=[ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=67, stopIndex=67, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)], commentSegments=[]), table=SimpleTableSegment(tableName=TableNameSegment(startIndex=12, stopIndex=23, identifier=IdentifierValue(value=t_order_item, quoteCharacter=NONE)), owner=Optional.empty, alias=Optional.empty), insertColumns=Optional[InsertColumnsSegment(startIndex=25, stopIndex=51, columns=[ColumnSegment(startIndex=26, stopIndex=33, identifier=IdentifierValue(value=order_id, quo
 teCharacter=NONE), owner=Optional.empty), ColumnSegment(startIndex=36, stopIndex=42, identifier=IdentifierValue(value=user_id, quoteCharacter=NONE), owner=Optional.empty), ColumnSegment(startIndex=45, stopIndex=50, identifier=IdentifierValue(value=status, quoteCharacter=NONE), owner=Optional.empty)])], insertSelect=Optional.empty, values=[InsertValuesSegment(startIndex=60, stopIndex=68, values=[ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=67, stopIndex=67, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)])]), setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) 
   [INFO ] 2022-12-07 17:10:51,611 --main-- [ShardingSphere-SQL] Actual SQL: ds_0 ::: INSERT INTO t_order_item_0 (order_id, user_id, status, order_item_id) VALUES (?, ?, ?, ?); ::: [807297201117069312, 6, INSERT_TEST, 807297201146429441] 
   [INFO ] 2022-12-07 17:10:51,617 --main-- [ShardingSphere-SQL] Logic SQL: INSERT INTO t_order (user_id, address_id, status) VALUES (?, ?, ?); 
   [INFO ] 2022-12-07 17:10:51,618 --main-- [ShardingSphere-SQL] SQLStatement: MySQLInsertStatement(super=InsertStatement(super=AbstractSQLStatement(parameterCount=3, parameterMarkerSegments=[ParameterMarkerExpressionSegment(startIndex=58, stopIndex=58, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)], commentSegments=[]), table=SimpleTableSegment(tableName=TableNameSegment(startIndex=12, stopIndex=18, identifier=IdentifierValue(value=t_order, quoteCharacter=NONE)), owner=Optional.empty, alias=Optional.empty), insertColumns=Optional[InsertColumnsSegment(startIndex=20, stopIndex=48, columns=[ColumnSegment(startIndex=21, stopIndex=27, identifier=IdentifierValue(value=user_id, quoteChar
 acter=NONE), owner=Optional.empty), ColumnSegment(startIndex=30, stopIndex=39, identifier=IdentifierValue(value=address_id, quoteCharacter=NONE), owner=Optional.empty), ColumnSegment(startIndex=42, stopIndex=47, identifier=IdentifierValue(value=status, quoteCharacter=NONE), owner=Optional.empty)])], insertSelect=Optional.empty, values=[InsertValuesSegment(startIndex=57, stopIndex=65, values=[ParameterMarkerExpressionSegment(startIndex=58, stopIndex=58, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)])]), setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) 
   [INFO ] 2022-12-07 17:10:51,618 --main-- [ShardingSphere-SQL] Actual SQL: ds_1 ::: INSERT INTO t_order_0 (user_id, address_id, status, order_id) VALUES (?, ?, ?, ?); ::: [7, 7, INSERT_TEST, 807297201175789568] 
   [INFO ] 2022-12-07 17:10:51,626 --main-- [ShardingSphere-SQL] Logic SQL: INSERT INTO t_order_item (order_id, user_id, status) VALUES (?, ?, ?); 
   [INFO ] 2022-12-07 17:10:51,626 --main-- [ShardingSphere-SQL] SQLStatement: MySQLInsertStatement(super=InsertStatement(super=AbstractSQLStatement(parameterCount=3, parameterMarkerSegments=[ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=67, stopIndex=67, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)], commentSegments=[]), table=SimpleTableSegment(tableName=TableNameSegment(startIndex=12, stopIndex=23, identifier=IdentifierValue(value=t_order_item, quoteCharacter=NONE)), owner=Optional.empty, alias=Optional.empty), insertColumns=Optional[InsertColumnsSegment(startIndex=25, stopIndex=51, columns=[ColumnSegment(startIndex=26, stopIndex=33, identifier=IdentifierValue(value=order_id, quo
 teCharacter=NONE), owner=Optional.empty), ColumnSegment(startIndex=36, stopIndex=42, identifier=IdentifierValue(value=user_id, quoteCharacter=NONE), owner=Optional.empty), ColumnSegment(startIndex=45, stopIndex=50, identifier=IdentifierValue(value=status, quoteCharacter=NONE), owner=Optional.empty)])], insertSelect=Optional.empty, values=[InsertValuesSegment(startIndex=60, stopIndex=68, values=[ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=67, stopIndex=67, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)])]), setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) 
   [INFO ] 2022-12-07 17:10:51,626 --main-- [ShardingSphere-SQL] Actual SQL: ds_1 ::: INSERT INTO t_order_item_0 (order_id, user_id, status, order_item_id) VALUES (?, ?, ?, ?); ::: [807297201175789568, 7, INSERT_TEST, 807297201209344001] 
   [INFO ] 2022-12-07 17:10:51,633 --main-- [ShardingSphere-SQL] Logic SQL: INSERT INTO t_order (user_id, address_id, status) VALUES (?, ?, ?); 
   [INFO ] 2022-12-07 17:10:51,634 --main-- [ShardingSphere-SQL] SQLStatement: MySQLInsertStatement(super=InsertStatement(super=AbstractSQLStatement(parameterCount=3, parameterMarkerSegments=[ParameterMarkerExpressionSegment(startIndex=58, stopIndex=58, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)], commentSegments=[]), table=SimpleTableSegment(tableName=TableNameSegment(startIndex=12, stopIndex=18, identifier=IdentifierValue(value=t_order, quoteCharacter=NONE)), owner=Optional.empty, alias=Optional.empty), insertColumns=Optional[InsertColumnsSegment(startIndex=20, stopIndex=48, columns=[ColumnSegment(startIndex=21, stopIndex=27, identifier=IdentifierValue(value=user_id, quoteChar
 acter=NONE), owner=Optional.empty), ColumnSegment(startIndex=30, stopIndex=39, identifier=IdentifierValue(value=address_id, quoteCharacter=NONE), owner=Optional.empty), ColumnSegment(startIndex=42, stopIndex=47, identifier=IdentifierValue(value=status, quoteCharacter=NONE), owner=Optional.empty)])], insertSelect=Optional.empty, values=[InsertValuesSegment(startIndex=57, stopIndex=65, values=[ParameterMarkerExpressionSegment(startIndex=58, stopIndex=58, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)])]), setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) 
   [INFO ] 2022-12-07 17:10:51,634 --main-- [ShardingSphere-SQL] Actual SQL: ds_0 ::: INSERT INTO t_order_0 (user_id, address_id, status, order_id) VALUES (?, ?, ?, ?); ::: [8, 8, INSERT_TEST, 807297201242898432] 
   [INFO ] 2022-12-07 17:10:51,641 --main-- [ShardingSphere-SQL] Logic SQL: INSERT INTO t_order_item (order_id, user_id, status) VALUES (?, ?, ?); 
   [INFO ] 2022-12-07 17:10:51,641 --main-- [ShardingSphere-SQL] SQLStatement: MySQLInsertStatement(super=InsertStatement(super=AbstractSQLStatement(parameterCount=3, parameterMarkerSegments=[ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=67, stopIndex=67, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)], commentSegments=[]), table=SimpleTableSegment(tableName=TableNameSegment(startIndex=12, stopIndex=23, identifier=IdentifierValue(value=t_order_item, quoteCharacter=NONE)), owner=Optional.empty, alias=Optional.empty), insertColumns=Optional[InsertColumnsSegment(startIndex=25, stopIndex=51, columns=[ColumnSegment(startIndex=26, stopIndex=33, identifier=IdentifierValue(value=order_id, quo
 teCharacter=NONE), owner=Optional.empty), ColumnSegment(startIndex=36, stopIndex=42, identifier=IdentifierValue(value=user_id, quoteCharacter=NONE), owner=Optional.empty), ColumnSegment(startIndex=45, stopIndex=50, identifier=IdentifierValue(value=status, quoteCharacter=NONE), owner=Optional.empty)])], insertSelect=Optional.empty, values=[InsertValuesSegment(startIndex=60, stopIndex=68, values=[ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=67, stopIndex=67, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)])]), setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) 
   [INFO ] 2022-12-07 17:10:51,641 --main-- [ShardingSphere-SQL] Actual SQL: ds_0 ::: INSERT INTO t_order_item_0 (order_id, user_id, status, order_item_id) VALUES (?, ?, ?, ?); ::: [807297201242898432, 8, INSERT_TEST, 807297201276452865] 
   [INFO ] 2022-12-07 17:10:51,649 --main-- [ShardingSphere-SQL] Logic SQL: INSERT INTO t_order (user_id, address_id, status) VALUES (?, ?, ?); 
   [INFO ] 2022-12-07 17:10:51,649 --main-- [ShardingSphere-SQL] SQLStatement: MySQLInsertStatement(super=InsertStatement(super=AbstractSQLStatement(parameterCount=3, parameterMarkerSegments=[ParameterMarkerExpressionSegment(startIndex=58, stopIndex=58, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)], commentSegments=[]), table=SimpleTableSegment(tableName=TableNameSegment(startIndex=12, stopIndex=18, identifier=IdentifierValue(value=t_order, quoteCharacter=NONE)), owner=Optional.empty, alias=Optional.empty), insertColumns=Optional[InsertColumnsSegment(startIndex=20, stopIndex=48, columns=[ColumnSegment(startIndex=21, stopIndex=27, identifier=IdentifierValue(value=user_id, quoteChar
 acter=NONE), owner=Optional.empty), ColumnSegment(startIndex=30, stopIndex=39, identifier=IdentifierValue(value=address_id, quoteCharacter=NONE), owner=Optional.empty), ColumnSegment(startIndex=42, stopIndex=47, identifier=IdentifierValue(value=status, quoteCharacter=NONE), owner=Optional.empty)])], insertSelect=Optional.empty, values=[InsertValuesSegment(startIndex=57, stopIndex=65, values=[ParameterMarkerExpressionSegment(startIndex=58, stopIndex=58, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)])]), setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) 
   [INFO ] 2022-12-07 17:10:51,649 --main-- [ShardingSphere-SQL] Actual SQL: ds_1 ::: INSERT INTO t_order_0 (user_id, address_id, status, order_id) VALUES (?, ?, ?, ?); ::: [9, 9, INSERT_TEST, 807297201310007296] 
   [INFO ] 2022-12-07 17:10:51,656 --main-- [ShardingSphere-SQL] Logic SQL: INSERT INTO t_order_item (order_id, user_id, status) VALUES (?, ?, ?); 
   [INFO ] 2022-12-07 17:10:51,656 --main-- [ShardingSphere-SQL] SQLStatement: MySQLInsertStatement(super=InsertStatement(super=AbstractSQLStatement(parameterCount=3, parameterMarkerSegments=[ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=67, stopIndex=67, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)], commentSegments=[]), table=SimpleTableSegment(tableName=TableNameSegment(startIndex=12, stopIndex=23, identifier=IdentifierValue(value=t_order_item, quoteCharacter=NONE)), owner=Optional.empty, alias=Optional.empty), insertColumns=Optional[InsertColumnsSegment(startIndex=25, stopIndex=51, columns=[ColumnSegment(startIndex=26, stopIndex=33, identifier=IdentifierValue(value=order_id, quo
 teCharacter=NONE), owner=Optional.empty), ColumnSegment(startIndex=36, stopIndex=42, identifier=IdentifierValue(value=user_id, quoteCharacter=NONE), owner=Optional.empty), ColumnSegment(startIndex=45, stopIndex=50, identifier=IdentifierValue(value=status, quoteCharacter=NONE), owner=Optional.empty)])], insertSelect=Optional.empty, values=[InsertValuesSegment(startIndex=60, stopIndex=68, values=[ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=67, stopIndex=67, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)])]), setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) 
   [INFO ] 2022-12-07 17:10:51,656 --main-- [ShardingSphere-SQL] Actual SQL: ds_1 ::: INSERT INTO t_order_item_0 (order_id, user_id, status, order_item_id) VALUES (?, ?, ?, ?); ::: [807297201310007296, 9, INSERT_TEST, 807297201335173121] 
   [INFO ] 2022-12-07 17:10:51,663 --main-- [ShardingSphere-SQL] Logic SQL: INSERT INTO t_order (user_id, address_id, status) VALUES (?, ?, ?); 
   [INFO ] 2022-12-07 17:10:51,663 --main-- [ShardingSphere-SQL] SQLStatement: MySQLInsertStatement(super=InsertStatement(super=AbstractSQLStatement(parameterCount=3, parameterMarkerSegments=[ParameterMarkerExpressionSegment(startIndex=58, stopIndex=58, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)], commentSegments=[]), table=SimpleTableSegment(tableName=TableNameSegment(startIndex=12, stopIndex=18, identifier=IdentifierValue(value=t_order, quoteCharacter=NONE)), owner=Optional.empty, alias=Optional.empty), insertColumns=Optional[InsertColumnsSegment(startIndex=20, stopIndex=48, columns=[ColumnSegment(startIndex=21, stopIndex=27, identifier=IdentifierValue(value=user_id, quoteChar
 acter=NONE), owner=Optional.empty), ColumnSegment(startIndex=30, stopIndex=39, identifier=IdentifierValue(value=address_id, quoteCharacter=NONE), owner=Optional.empty), ColumnSegment(startIndex=42, stopIndex=47, identifier=IdentifierValue(value=status, quoteCharacter=NONE), owner=Optional.empty)])], insertSelect=Optional.empty, values=[InsertValuesSegment(startIndex=57, stopIndex=65, values=[ParameterMarkerExpressionSegment(startIndex=58, stopIndex=58, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)])]), setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) 
   [INFO ] 2022-12-07 17:10:51,663 --main-- [ShardingSphere-SQL] Actual SQL: ds_0 ::: INSERT INTO t_order_0 (user_id, address_id, status, order_id) VALUES (?, ?, ?, ?); ::: [10, 10, INSERT_TEST, 807297201368727552] 
   [INFO ] 2022-12-07 17:10:51,671 --main-- [ShardingSphere-SQL] Logic SQL: INSERT INTO t_order_item (order_id, user_id, status) VALUES (?, ?, ?); 
   [INFO ] 2022-12-07 17:10:51,671 --main-- [ShardingSphere-SQL] SQLStatement: MySQLInsertStatement(super=InsertStatement(super=AbstractSQLStatement(parameterCount=3, parameterMarkerSegments=[ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=67, stopIndex=67, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)], commentSegments=[]), table=SimpleTableSegment(tableName=TableNameSegment(startIndex=12, stopIndex=23, identifier=IdentifierValue(value=t_order_item, quoteCharacter=NONE)), owner=Optional.empty, alias=Optional.empty), insertColumns=Optional[InsertColumnsSegment(startIndex=25, stopIndex=51, columns=[ColumnSegment(startIndex=26, stopIndex=33, identifier=IdentifierValue(value=order_id, quo
 teCharacter=NONE), owner=Optional.empty), ColumnSegment(startIndex=36, stopIndex=42, identifier=IdentifierValue(value=user_id, quoteCharacter=NONE), owner=Optional.empty), ColumnSegment(startIndex=45, stopIndex=50, identifier=IdentifierValue(value=status, quoteCharacter=NONE), owner=Optional.empty)])], insertSelect=Optional.empty, values=[InsertValuesSegment(startIndex=60, stopIndex=68, values=[ParameterMarkerExpressionSegment(startIndex=61, stopIndex=61, parameterMarkerIndex=0, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=64, stopIndex=64, parameterMarkerIndex=1, parameterMarkerType=QUESTION, alias=Optional.empty), ParameterMarkerExpressionSegment(startIndex=67, stopIndex=67, parameterMarkerIndex=2, parameterMarkerType=QUESTION, alias=Optional.empty)])]), setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) 
   [INFO ] 2022-12-07 17:10:51,671 --main-- [ShardingSphere-SQL] Actual SQL: ds_0 ::: INSERT INTO t_order_item_0 (order_id, user_id, status, order_item_id) VALUES (?, ?, ?, ?); ::: [807297201368727552, 10, INSERT_TEST, 807297201402281985] 
   ---------------------------- Print Order Data -----------------------
   ```


-- 
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: notifications-unsubscribe@shardingsphere.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] Use auditStrategy to cause duplicate generation keyGenerator [shardingsphere]

Posted by "ListenQ (via GitHub)" <gi...@apache.org>.
ListenQ commented on issue #22719:
URL: https://github.com/apache/shardingsphere/issues/22719#issuecomment-1925643784

   version:
   shardingsphere-5.4.1
   
   I also encountered this problem
   
   ![Uploading image.png…]()
   
   
   ```
   Error getting generated key or setting result to parameter object. Cause: org.apache.ibatis.executor.ExecutorException: Too many keys are generated. There are only 1 target objects. You either specified a wrong 'keyProperty' or encountered a driver bug like #1523.
   ```
   


-- 
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: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [shardingsphere] RaigorJiang commented on issue #22719: Use auditStrategy to cause duplicate generation keyGenerator

Posted by GitBox <gi...@apache.org>.
RaigorJiang commented on issue #22719:
URL: https://github.com/apache/shardingsphere/issues/22719#issuecomment-1340905975

   Hi @youngMvcBrother 
   Thanks for your feedback, does this issue still exist in the master branch?


-- 
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: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [shardingsphere] youngMvcBrother commented on issue #22719: Use auditStrategy to cause duplicate generation keyGenerator

Posted by GitBox <gi...@apache.org>.
youngMvcBrother commented on issue #22719:
URL: https://github.com/apache/shardingsphere/issues/22719#issuecomment-1342248154

   Hi @RaigorJiang 
   I'm sorry,I reply was a little late. Because ‘mvn clean install ’ takes time.
   **debug result:**
   in the master branch,this issue exists
   
   **My Steps:**
   
   1. 
   
   ```shell
   ## download source code
   git clone https://github.com/apache/shardingsphere.git
   
   ## compile source code
   cd shardingsphere
   mvn clean install -Prelease
   ```
   
   2. 
     add sharding-spring-boot-mybatis-example
   
   3. 
     debug 
   
   **java version**
   
   ```shell
   java version "1.8.0_301"
   Java(TM) SE Runtime Environment (build 1.8.0_301-b09)
   Java HotSpot(TM) 64-Bit Server VM (build 25.301-b09, mixed mode)
   
   ```
   
   **Look**
   ![image](https://user-images.githubusercontent.com/13623260/206390818-8089b1d2-0088-4073-8ed8-586d768c6e09.png)
   ```java
   -------------- Process Success Begin ---------------
   ---------------------------- Insert Data ----------------------------
   [INFO ] 2022-12-08 15:57:18,531 --main-- [ShardingSphere-SQL] Logic SQL: INSERT INTO t_order (user_id, address_id, status) VALUES (?, ?, ?); 
   [INFO ] 2022-12-08 15:57:18,531 --main-- [ShardingSphere-SQL] Actual SQL: ds_1 ::: INSERT INTO t_order_0 (user_id, address_id, status, order_id) VALUES (?, ?, ?, ?); ::: [1, 1, INSERT_TEST, 807641078621536256] 
   [INFO ] 2022-12-08 15:57:18,588 --main-- [ShardingSphere-SQL] Logic SQL: DROP TABLE IF EXISTS t_order; 
   [INFO ] 2022-12-08 15:57:18,588 --main-- [ShardingSphere-SQL] Actual SQL: ds_1 ::: DROP TABLE IF EXISTS t_order_0; 
   [INFO ] 2022-12-08 15:57:18,588 --main-- [ShardingSphere-SQL] Actual SQL: ds_1 ::: DROP TABLE IF EXISTS t_order_1; 
   [INFO ] 2022-12-08 15:57:18,588 --main-- [ShardingSphere-SQL] Actual SQL: ds_0 ::: DROP TABLE IF EXISTS t_order_0; 
   [INFO ] 2022-12-08 15:57:18,588 --main-- [ShardingSphere-SQL] Actual SQL: ds_0 ::: DROP TABLE IF EXISTS t_order_1; 
   [INFO ] 2022-12-08 15:57:18,654 --main-- [ShardingSphere-SQL] Logic SQL: DROP TABLE IF EXISTS t_order_item; 
   [INFO ] 2022-12-08 15:57:18,654 --main-- [ShardingSphere-SQL] Actual SQL: ds_1 ::: DROP TABLE IF EXISTS t_order_item_0; 
   [INFO ] 2022-12-08 15:57:18,654 --main-- [ShardingSphere-SQL] Actual SQL: ds_1 ::: DROP TABLE IF EXISTS t_order_item_1; 
   [INFO ] 2022-12-08 15:57:18,654 --main-- [ShardingSphere-SQL] Actual SQL: ds_0 ::: DROP TABLE IF EXISTS t_order_item_0; 
   [INFO ] 2022-12-08 15:57:18,654 --main-- [ShardingSphere-SQL] Actual SQL: ds_0 ::: DROP TABLE IF EXISTS t_order_item_1; 
   [INFO ] 2022-12-08 15:57:18,712 --main-- [org.quartz.core.QuartzScheduler] Scheduler quartzScheduler_$_NON_CLUSTERED paused. 
   [INFO ] 2022-12-08 15:57:18,713 --main-- [org.springframework.scheduling.quartz.SchedulerFactoryBean] Shutting down Quartz Scheduler 
   [INFO ] 2022-12-08 15:57:18,713 --main-- [org.quartz.core.QuartzScheduler] Scheduler quartzScheduler_$_NON_CLUSTERED shutting down. 
   [INFO ] 2022-12-08 15:57:18,713 --main-- [org.quartz.core.QuartzScheduler] Scheduler quartzScheduler_$_NON_CLUSTERED paused. 
   [INFO ] 2022-12-08 15:57:18,713 --main-- [org.quartz.core.QuartzScheduler] Scheduler quartzScheduler_$_NON_CLUSTERED shutdown complete. 
   [INFO ] 2022-12-08 15:57:18,714 --main-- [com.zaxxer.hikari.HikariDataSource] HikariPool-2 - Shutdown initiated... 
   [INFO ] 2022-12-08 15:57:18,717 --main-- [com.zaxxer.hikari.HikariDataSource] HikariPool-2 - Shutdown completed. 
   [INFO ] 2022-12-08 15:57:18,717 --main-- [com.zaxxer.hikari.HikariDataSource] HikariPool-3 - Shutdown initiated... 
   [INFO ] 2022-12-08 15:57:18,718 --main-- [com.zaxxer.hikari.HikariDataSource] HikariPool-3 - Shutdown completed. 
   [INFO ] 2022-12-08 15:57:18,718 --main-- [com.zaxxer.hikari.HikariDataSource] HikariPool-1 - Shutdown initiated... 
   [INFO ] 2022-12-08 15:57:18,719 --main-- [com.zaxxer.hikari.HikariDataSource] HikariPool-1 - Shutdown completed. 
   Exception in thread "main" org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.executor.ExecutorException: Error getting generated key or setting result to parameter object. Cause: org.apache.ibatis.executor.ExecutorException: Too many keys are generated. There are only 1 target objects. You either specified a wrong 'keyProperty' or encountered a driver bug like #1523.
   	at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92)
   	at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440)
   	at com.sun.proxy.$Proxy55.insert(Unknown Source)
   	at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:271)
   	at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:62)
   	at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:145)
   	at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86)
   	at com.sun.proxy.$Proxy56.insert(Unknown Source)
   	at org.apache.shardingsphere.example.core.mybatis.service.OrderServiceImpl.insertData(OrderServiceImpl.java:103)
   	at org.apache.shardingsphere.example.core.mybatis.service.OrderServiceImpl.processSuccess(OrderServiceImpl.java:79)
   	at org.apache.shardingsphere.example.core.mybatis.service.OrderServiceImpl$$FastClassBySpringCGLIB$$bc37129f.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.apache.shardingsphere.example.core.mybatis.service.OrderServiceImpl$$EnhancerBySpringCGLIB$$c04768b3.processSuccess(<generated>)
   	at org.apache.shardingsphere.example.core.api.ExampleExecuteTemplate.run(ExampleExecuteTemplate.java:29)
   	at org.apache.shardingsphere.example.sharding.spring.boot.mybatis.ShardingSpringBootMybatisExample.main(ShardingSpringBootMybatisExample.java:38)
   Caused by: org.apache.ibatis.executor.ExecutorException: Error getting generated key or setting result to parameter object. Cause: org.apache.ibatis.executor.ExecutorException: Too many keys are generated. There are only 1 target objects. You either specified a wrong 'keyProperty' or encountered a driver bug like #1523.
   	at org.apache.ibatis.executor.keygen.Jdbc3KeyGenerator.processBatch(Jdbc3KeyGenerator.java:88)
   	at org.apache.ibatis.executor.keygen.Jdbc3KeyGenerator.processAfter(Jdbc3KeyGenerator.java:71)
   	at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:51)
   	at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:74)
   	at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50)
   	at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117)
   	at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76)
   	at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:194)
   	at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:181)
   	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:426)
   	... 21 more
   Caused by: org.apache.ibatis.executor.ExecutorException: Too many keys are generated. There are only 1 target objects. You either specified a wrong 'keyProperty' or encountered a driver bug like #1523.
   	at org.apache.ibatis.executor.keygen.Jdbc3KeyGenerator.assignKeysToParam(Jdbc3KeyGenerator.java:121)
   	at org.apache.ibatis.executor.keygen.Jdbc3KeyGenerator.assignKeys(Jdbc3KeyGenerator.java:104)
   	at org.apache.ibatis.executor.keygen.Jdbc3KeyGenerator.processBatch(Jdbc3KeyGenerator.java:85)
   	... 34 more
   
   ```


-- 
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: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] Use auditStrategy to cause duplicate generation keyGenerator [shardingsphere]

Posted by "ListenQ (via GitHub)" <gi...@apache.org>.
ListenQ commented on issue #22719:
URL: https://github.com/apache/shardingsphere/issues/22719#issuecomment-1925625402

   > Hi @RaigorJiang I'm sorry,I reply was a little late. Because ‘mvn clean install ’ takes time. **debug result:** in the master branch,this issue exists
   > 
   > **My Steps:**
   > 
   > 
   > ```shell
   > ## download source code
   > git clone https://github.com/apache/shardingsphere.git
   > 
   > ## compile source code
   > cd shardingsphere
   > mvn clean install -Prelease
   > ```
   > 
   > 
   > add sharding-spring-boot-mybatis-example
   > 
   > 
   > debug
   > 
   > **java version**
   > 
   > ```shell
   > java version "1.8.0_301"
   > Java(TM) SE Runtime Environment (build 1.8.0_301-b09)
   > Java HotSpot(TM) 64-Bit Server VM (build 25.301-b09, mixed mode)
   > ```
   > 
   > **Look** ![image](https://user-images.githubusercontent.com/13623260/206390818-8089b1d2-0088-4073-8ed8-586d768c6e09.png)
   > 
   > ```java
   > -------------- Process Success Begin ---------------
   > ---------------------------- Insert Data ----------------------------
   > [INFO ] 2022-12-08 15:57:18,531 --main-- [ShardingSphere-SQL] Logic SQL: INSERT INTO t_order (user_id, address_id, status) VALUES (?, ?, ?); 
   > [INFO ] 2022-12-08 15:57:18,531 --main-- [ShardingSphere-SQL] Actual SQL: ds_1 ::: INSERT INTO t_order_0 (user_id, address_id, status, order_id) VALUES (?, ?, ?, ?); ::: [1, 1, INSERT_TEST, 807641078621536256] 
   > [INFO ] 2022-12-08 15:57:18,588 --main-- [ShardingSphere-SQL] Logic SQL: DROP TABLE IF EXISTS t_order; 
   > [INFO ] 2022-12-08 15:57:18,588 --main-- [ShardingSphere-SQL] Actual SQL: ds_1 ::: DROP TABLE IF EXISTS t_order_0; 
   > [INFO ] 2022-12-08 15:57:18,588 --main-- [ShardingSphere-SQL] Actual SQL: ds_1 ::: DROP TABLE IF EXISTS t_order_1; 
   > [INFO ] 2022-12-08 15:57:18,588 --main-- [ShardingSphere-SQL] Actual SQL: ds_0 ::: DROP TABLE IF EXISTS t_order_0; 
   > [INFO ] 2022-12-08 15:57:18,588 --main-- [ShardingSphere-SQL] Actual SQL: ds_0 ::: DROP TABLE IF EXISTS t_order_1; 
   > [INFO ] 2022-12-08 15:57:18,654 --main-- [ShardingSphere-SQL] Logic SQL: DROP TABLE IF EXISTS t_order_item; 
   > [INFO ] 2022-12-08 15:57:18,654 --main-- [ShardingSphere-SQL] Actual SQL: ds_1 ::: DROP TABLE IF EXISTS t_order_item_0; 
   > [INFO ] 2022-12-08 15:57:18,654 --main-- [ShardingSphere-SQL] Actual SQL: ds_1 ::: DROP TABLE IF EXISTS t_order_item_1; 
   > [INFO ] 2022-12-08 15:57:18,654 --main-- [ShardingSphere-SQL] Actual SQL: ds_0 ::: DROP TABLE IF EXISTS t_order_item_0; 
   > [INFO ] 2022-12-08 15:57:18,654 --main-- [ShardingSphere-SQL] Actual SQL: ds_0 ::: DROP TABLE IF EXISTS t_order_item_1; 
   > [INFO ] 2022-12-08 15:57:18,712 --main-- [org.quartz.core.QuartzScheduler] Scheduler quartzScheduler_$_NON_CLUSTERED paused. 
   > [INFO ] 2022-12-08 15:57:18,713 --main-- [org.springframework.scheduling.quartz.SchedulerFactoryBean] Shutting down Quartz Scheduler 
   > [INFO ] 2022-12-08 15:57:18,713 --main-- [org.quartz.core.QuartzScheduler] Scheduler quartzScheduler_$_NON_CLUSTERED shutting down. 
   > [INFO ] 2022-12-08 15:57:18,713 --main-- [org.quartz.core.QuartzScheduler] Scheduler quartzScheduler_$_NON_CLUSTERED paused. 
   > [INFO ] 2022-12-08 15:57:18,713 --main-- [org.quartz.core.QuartzScheduler] Scheduler quartzScheduler_$_NON_CLUSTERED shutdown complete. 
   > [INFO ] 2022-12-08 15:57:18,714 --main-- [com.zaxxer.hikari.HikariDataSource] HikariPool-2 - Shutdown initiated... 
   > [INFO ] 2022-12-08 15:57:18,717 --main-- [com.zaxxer.hikari.HikariDataSource] HikariPool-2 - Shutdown completed. 
   > [INFO ] 2022-12-08 15:57:18,717 --main-- [com.zaxxer.hikari.HikariDataSource] HikariPool-3 - Shutdown initiated... 
   > [INFO ] 2022-12-08 15:57:18,718 --main-- [com.zaxxer.hikari.HikariDataSource] HikariPool-3 - Shutdown completed. 
   > [INFO ] 2022-12-08 15:57:18,718 --main-- [com.zaxxer.hikari.HikariDataSource] HikariPool-1 - Shutdown initiated... 
   > [INFO ] 2022-12-08 15:57:18,719 --main-- [com.zaxxer.hikari.HikariDataSource] HikariPool-1 - Shutdown completed. 
   > Exception in thread "main" org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.executor.ExecutorException: Error getting generated key or setting result to parameter object. Cause: org.apache.ibatis.executor.ExecutorException: Too many keys are generated. There are only 1 target objects. You either specified a wrong 'keyProperty' or encountered a driver bug like #1523.
   > 	at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92)
   > 	at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440)
   > 	at com.sun.proxy.$Proxy55.insert(Unknown Source)
   > 	at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:271)
   > 	at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:62)
   > 	at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:145)
   > 	at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86)
   > 	at com.sun.proxy.$Proxy56.insert(Unknown Source)
   > 	at org.apache.shardingsphere.example.core.mybatis.service.OrderServiceImpl.insertData(OrderServiceImpl.java:103)
   > 	at org.apache.shardingsphere.example.core.mybatis.service.OrderServiceImpl.processSuccess(OrderServiceImpl.java:79)
   > 	at org.apache.shardingsphere.example.core.mybatis.service.OrderServiceImpl$$FastClassBySpringCGLIB$$bc37129f.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.apache.shardingsphere.example.core.mybatis.service.OrderServiceImpl$$EnhancerBySpringCGLIB$$c04768b3.processSuccess(<generated>)
   > 	at org.apache.shardingsphere.example.core.api.ExampleExecuteTemplate.run(ExampleExecuteTemplate.java:29)
   > 	at org.apache.shardingsphere.example.sharding.spring.boot.mybatis.ShardingSpringBootMybatisExample.main(ShardingSpringBootMybatisExample.java:38)
   > Caused by: org.apache.ibatis.executor.ExecutorException: Error getting generated key or setting result to parameter object. Cause: org.apache.ibatis.executor.ExecutorException: Too many keys are generated. There are only 1 target objects. You either specified a wrong 'keyProperty' or encountered a driver bug like #1523.
   > 	at org.apache.ibatis.executor.keygen.Jdbc3KeyGenerator.processBatch(Jdbc3KeyGenerator.java:88)
   > 	at org.apache.ibatis.executor.keygen.Jdbc3KeyGenerator.processAfter(Jdbc3KeyGenerator.java:71)
   > 	at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:51)
   > 	at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:74)
   > 	at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50)
   > 	at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117)
   > 	at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76)
   > 	at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:194)
   > 	at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:181)
   > 	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:426)
   > 	... 21 more
   > Caused by: org.apache.ibatis.executor.ExecutorException: Too many keys are generated. There are only 1 target objects. You either specified a wrong 'keyProperty' or encountered a driver bug like #1523.
   > 	at org.apache.ibatis.executor.keygen.Jdbc3KeyGenerator.assignKeysToParam(Jdbc3KeyGenerator.java:121)
   > 	at org.apache.ibatis.executor.keygen.Jdbc3KeyGenerator.assignKeys(Jdbc3KeyGenerator.java:104)
   > 	at org.apache.ibatis.executor.keygen.Jdbc3KeyGenerator.processBatch(Jdbc3KeyGenerator.java:85)
   > 	... 34 more
   > ```
   
   
   
   > Hi @youngMvcBrother Thanks for your feedback, does this issue still exist in the master branch?
   
   
   
   > Hi @youngMvcBrother Thanks for your feedback, does this issue still exist in the master branch?
   
   Has this bug been resolved?   the master branch


-- 
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: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org