[ 
https://issues.apache.org/jira/browse/IGNITE-1027?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14708944#comment-14708944
 ] 

Semen Boikov commented on IGNITE-1027:
--------------------------------------

>From rebalance code I see that SYNC rebalance is broken if multiple nodes 
>start concurrently:
- method 'GridDhtPartitionDemandPool.assign' returns empty assigments if there 
are pending exchanges
- DemandWorkers receive empty assigns, finish loop and complete SyncFuture 
- Ignite exits from start method before rebalance was really finished

Also DemandWorkers can stop rebalance process and complete SyncFuture if 
topology changed during rebalancing (see usages of 
DemandWorker.topologyChanged()).

> Possible data loss in replicated cache on unstable topology.
> ------------------------------------------------------------
>
>                 Key: IGNITE-1027
>                 URL: https://issues.apache.org/jira/browse/IGNITE-1027
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Sergi Vladykin
>            Assignee: Semen Boikov
>             Fix For: ignite-1.4
>
>
> In test IgniteCacheClientQueryReplicatedNodeRestartSelfTest we have 4 data 
> nodes with replicated caches and single client-only node, which runs SQL 
> queries against those data nodes. Background threads restarting data nodes. 
> When we restart 2 of 4 data nodes everything is fine, when 3 of 4 then 
> eventually query returns inconsistent result and cache size returns smaller 
> values than expected. Since we use rebalance mode SYNC, such a data loss 
> should not happen.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to