Description
To reproduce you should do next:
1)Start 3 data nodes with persistence
2)Load 100_000 entries to SQL cache
3)Stop one node
4)Load another100_000 entries to SQL cache
5)Stop second node
6)Load another100_000 entries to SQL cache
7)Start node one and node2 -> rebalance will be started
8)In parallel start select count query from every data node
Results will be like next.
SqlSize is 300000, Ignite is sqltests.IncorrectSizeDuringRebalanceOfReplicatedCachesTest2
SqlSize is 122684, Ignite is sqltests.IncorrectSizeDuringRebalanceOfReplicatedCachesTest1
SqlSize is 26898, Ignite is sqltests.IncorrectSizeDuringRebalanceOfReplicatedCachesTest0
Cache sizes will be correct in this case:
CacheSize is 300000, Ignite is sqltests.IncorrectSizeDuringRebalanceOfReplicatedCachesTest2
CacheSize is 300000, Ignite is sqltests.IncorrectSizeDuringRebalanceOfReplicatedCachesTest1
CacheSize is 300000, Ignite is sqltests.IncorrectSizeDuringRebalanceOfReplicatedCachesTest0
It means that during rebalance customers will be able to get incorrect results for SQL queries during the rebalance process if it will be started from "bad" node.
Attachments
Issue Links
- is caused by
-
IGNITE-6295 SQL: Get rid of "replicatedOnly" flag
- Resolved
- links to