FlyingZC opened a new issue, #30287: URL: https://github.com/apache/shardingsphere/issues/30287
## Bug Report Thread safety Issues with Inline expressions ### Which version of ShardingSphere did you use? Master. ### Which project did you use? ShardingSphere-JDBC or ShardingSphere-Proxy? Proxy ### Expected behavior Inline expressions can be correctly routed in concurrent scenarios. ### Actual behavior Can't. ### Reason analyze (If you can) ### Steps to reproduce the behavior, such as: SQL to execute, sharding rule configuration, when exception occur etc. 1.Start the proxy using the following YAML configuration. ```yaml # # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # ###################################################################################################### # # Here you can configure the rules for the proxy. # This example is configuration of sharding rule. # ###################################################################################################### databaseName: sharding_db dataSources: ds_0: url: jdbc:mysql://127.0.0.1:3306/demo_ds_0?serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true username: root password: root connectionTimeoutMilliseconds: 30000 idleTimeoutMilliseconds: 60000 maxLifetimeMilliseconds: 1800000 maxPoolSize: 50 minPoolSize: 1 ds_1: url: jdbc:mysql://127.0.0.1:3306/demo_ds_1?serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true username: root password: root connectionTimeoutMilliseconds: 30000 idleTimeoutMilliseconds: 60000 maxLifetimeMilliseconds: 1800000 maxPoolSize: 50 minPoolSize: 1 rules: - !SINGLE tables: - "*.*" - !SHARDING tables: account: actualDataNodes: ds_${0..1}.account_${0..1} databaseStrategy: standard: shardingColumn: id shardingAlgorithmName: database_id_inline tableStrategy: standard: shardingColumn: id shardingAlgorithmName: account_inline keyGenerateStrategy: column: id keyGeneratorName: snowflake defaultTableStrategy: none: shardingAlgorithms: database_id_inline: type: INLINE props: algorithm-expression: ds_${id % 2} account_inline: type: INLINE props: algorithm-expression: account_${Math.floorMod(Math.floorDiv(id.longValue(), 2L), 2L)} keyGenerators: snowflake: type: SNOWFLAKE ``` 2.Create `account` table and insert test data through the proxy. ```sql use sharding_db; mysql> CREATE TABLE account(id int, balance float, transaction_id int, primary key (id)); Query OK, 0 rows affected (0.10 sec) mysql> insert into account values(1,1,1),(2,2,2); Query OK, 2 rows affected (0.04 sec) mysql> preview select * from account; +------------------+-----------------------------------------------------------+ | data_source_name | actual_sql | +------------------+-----------------------------------------------------------+ | ds_0 | select * from account_0 UNION ALL select * from account_1 | | ds_1 | select * from account_0 UNION ALL select * from account_1 | +------------------+-----------------------------------------------------------+ 2 rows in set (0.42 sec) mysql> preview select * from account where id=1; +------------------+------------------------------------+ | data_source_name | actual_sql | +------------------+------------------------------------+ | ds_1 | select * from account_0 where id=1 | +------------------+------------------------------------+ 1 row in set (0.01 sec) mysql> preview select * from account where id=2; +------------------+------------------------------------+ | data_source_name | actual_sql | +------------------+------------------------------------+ | ds_0 | select * from account_1 where id=2 | +------------------+------------------------------------+ 1 row in set (0.00 sec) ``` From the above preview result, it can be seen that the data with `id=1` is stored in `ds_1.account_0`, and the data with `id=2` is stored in `ds_0.account_1`. 3.Perform concurrent operations in multiple threads, enable the `sql-show` of the proxy, and observe whether the routing result logs match the expectations. ```java @Test public void testInline() throws Exception { int threadCount = 2; ExecutorService executorService = Executors.newFixedThreadPool(threadCount); List<Future> futures = new ArrayList<>(threadCount); DataSource dataSource = getProxyDataSource(); { Future<Boolean> future = executorService.submit(() -> { Connection connection = dataSource.getConnection(); for (int j = 0; j < 20; j++) { executeWithLog(connection, "UPDATE account SET balance = balance - 1 WHERE id = 1"); executeWithLog(connection, "UPDATE account SET balance = balance + 1 WHERE id = 2"); } return null; }); futures.add(future); } { Future<Boolean> future = executorService.submit(() -> { Connection connection = dataSource.getConnection(); for (int j = 0; j < 20; j++) { executeWithLog(connection, "UPDATE account SET balance = balance + 1 WHERE id = 2"); executeWithLog(connection, "UPDATE account SET balance = balance - 1 WHERE id = 1"); } return null; }); futures.add(future); } try { for (Future future : futures) { future.get(); } } catch (InterruptedException | ExecutionException e) { e.printStackTrace(); } } ``` 4.Proxy sql-show log is as is as follows; I have noticed that some of the routing results do not match the expectations: `[INFO ] 2024-02-26 10:31:18.796 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_0 SET balance = balance - 1 WHERE id = 1` `[INFO ] 2024-02-26 10:31:18.739 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_1 ::: UPDATE account_1 SET balance = balance + 1 WHERE id = 2` ```log [INFO ] 2024-02-26 10:31:18.738 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.739 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_1 ::: UPDATE account_0 SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.739 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.739 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_1 ::: UPDATE account_1 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.753 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.753 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.753 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_0 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.753 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_0 SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.760 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.760 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.760 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_1 ::: UPDATE account_0 SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.760 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_1 ::: UPDATE account_0 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.767 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.767 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.767 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_1 ::: UPDATE account_0 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.767 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_1 ::: UPDATE account_0 SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.772 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.772 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.773 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_1 ::: UPDATE account_0 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.773 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_1 ::: UPDATE account_0 SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.784 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.784 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.784 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_1 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.784 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_1 ::: UPDATE account_0 SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.790 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.790 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_1 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.792 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.792 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_1 ::: UPDATE account_0 SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.796 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.796 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.796 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_0 SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.796 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_0 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.800 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.801 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.801 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_1 SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.801 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_1 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.806 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.806 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.806 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_1 ::: UPDATE account_1 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.806 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_0 SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.811 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.811 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.811 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_1 SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.811 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_1 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.817 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.817 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_1 ::: UPDATE account_0 SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.817 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.817 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_1 ::: UPDATE account_1 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.822 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.822 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.822 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_1 SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.822 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_1 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.828 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.828 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_1 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.828 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.828 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_1 SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.833 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.833 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.833 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_1 ::: UPDATE account_1 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.833 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_1 ::: UPDATE account_1 SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.839 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.839 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_1 ::: UPDATE account_1 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.839 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.839 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_1 ::: UPDATE account_1 SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.844 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.844 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.844 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_1 ::: UPDATE account_0 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.844 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_1 ::: UPDATE account_0 SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.850 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.850 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.850 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_0 SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.850 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_0 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.855 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.855 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.855 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_1 ::: UPDATE account_1 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.855 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_1 ::: UPDATE account_1 SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.862 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.862 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.862 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_1 ::: UPDATE account_1 SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.862 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_1 ::: UPDATE account_1 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.870 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.871 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_1 SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.870 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.871 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_1 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.877 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.877 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.877 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_0 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.877 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_0 SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.882 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.882 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.882 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_1 SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.882 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_1 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.888 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.888 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.888 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_1 SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.888 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_1 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.894 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.894 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.894 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_1 SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.894 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_1 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.899 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.899 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.899 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_0 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.899 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_0 SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.903 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.903 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.903 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_1 SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.903 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_1 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.908 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.908 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.908 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_1 SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.908 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_1 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.914 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.914 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.914 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_0 SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.914 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_0 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.919 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.919 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.920 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_1 SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.920 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_1 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.925 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.925 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.925 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_1 ::: UPDATE account_0 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.925 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_1 ::: UPDATE account_0 SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.931 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.931 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.931 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_1 SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.931 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_1 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.936 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.936 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.936 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_1 ::: UPDATE account_1 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.936 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_1 ::: UPDATE account_0 SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.943 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.943 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.943 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_0 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.943 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_0 SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.949 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.949 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.949 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_1 ::: UPDATE account_0 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.949 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_1 ::: UPDATE account_0 SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.956 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.956 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.956 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_1 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.956 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_1 SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.963 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.963 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.964 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_1 ::: UPDATE account_0 SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.964 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_1 ::: UPDATE account_0 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.971 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.971 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.971 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_1 SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.971 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_1 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.977 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.977 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.977 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_0 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.977 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_0 ::: UPDATE account_0 SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.983 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.983 [ShardingSphere-Command-0] ShardingSphere-SQL - Logic SQL: UPDATE account SET balance = balance - 1 WHERE id = 1 [INFO ] 2024-02-26 10:31:18.983 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual SQL: ds_1 ::: UPDATE account_0 SET balance = balance + 1 WHERE id = 2 [INFO ] 2024-02-26 10:31:18.983 [ShardingSphere-Command-0] ShardingSphere-SQL - Actual SQL: ds_1 ::: UPDATE account_0 SET balance = balance - 1 WHERE id = 1 ``` ### Example codes for reproduce this issue (such as a github link). -- 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]
