Techoc opened a new issue, #29135:
URL: https://github.com/apache/shardingsphere/issues/29135
This is my project link:
https://github.com/Techoc/learn-java/tree/master/dynamic-datasource/dynamic-datasource-sharding-jdbc-02
## Question
When i use READWRITE_SPLITTING mode by sharding-JDBC, write and read in
a transaction. According to the official documentation,both data reads and
writes in transactions use the primary database.
But when I was testing, write the primary database and read the slave
database.
## TestCode
```Java
@SpringBootTest
public class OrderServiceTest {
@Resource
private OrderService orderService;
@Test
public void testAdd() {
OrderDO order = new OrderDO();
order.setUserId(20);
orderService.add(order);
}
}
```
## DataBase
```
ds_master:
id,user_id
1,2
```
```
ds_slave_1:
id,user_id
1,1
```
```
ds_slave_2:
id,user_id
1,3
```
## Expected
```shell
primary OrderDO(id=1, userId=2)
```
## Actual
```
primary: OrderDO(id=1, userId=3)
```
## Log
```shell
2023-11-23T15:25:14.461+08:00 INFO 151768 --- [ Test worker]
ShardingSphere-SQL : Logic SQL: SELECT
id
, user_id
FROM orders
WHERE id = ?
2023-11-23T15:25:14.462+08:00 INFO 151768 --- [ Test worker]
ShardingSphere-SQL : Actual SQL: ds_slave_1 ::: SELECT
id
, user_id
FROM orders
WHERE id = ? ::: [1]
OrderDO(id=1, userId=1)
2023-11-23T15:25:14.823+08:00 INFO 151768 --- [ Test worker]
ShardingSphere-SQL : Logic SQL: INSERT INTO orders
(user_id)
VALUES (?)
2023-11-23T15:25:14.823+08:00 INFO 151768 --- [ Test worker]
ShardingSphere-SQL : Actual SQL: ds_master ::: INSERT
INTO orders (user_id)
VALUES (?) ::: [20]
2023-11-23T15:25:14.960+08:00 INFO 151768 --- [ Test worker]
ShardingSphere-SQL : Logic SQL: SELECT
id
, user_id
FROM orders
WHERE id = ?
2023-11-23T15:25:14.960+08:00 INFO 151768 --- [ Test worker]
ShardingSphere-SQL : Actual SQL: ds_slave_2 ::: SELECT
id
, user_id
FROM orders
WHERE id = ? ::: [1]
primary: OrderDO(id=1, userId=3)
```
--
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]