Hi, I tried to write the same code that will execute the described scenario. The results are as follows:
If I do not give enough time to completely rebalance partitions, then the newly launched node will not have enough data to count(*). If I do not wait for enough time to allow to distribute the data on the grid, the query will return a smaller number - the number of records that have been uploaded to the node. I guess there is GridDhtPartitionDemandMessage’s can be found in Ignite debug log in this moment. If I wait for a sufficient amount of time or directly call the wait on the newly joined node ignite2.cache (CACHE) .rebalance (). get (); then all results will be correct. About your question> what's happen if one cluster node crashes in the middle of rebalance process? In this case normal failover scenario is started, data is rebalanced within cluster. And if there is enought WAL records on nodes representing history from crash point, then only recent changes (delta) will be send over network. If there is no enought history to apply rebalance with most recent changes, then partition will be rebalanced from scratch to new node. Sincerely, Pavlov Dmitry сб, 21 окт. 2017 г. в 2:07, Manu <[email protected]>: > Hi, > > after restart data seems not be consistent. > > We have been waiting until rebalance was fully completed to restart the > cluster to check if durable memory data rebalance works correctly and sql > queries still work. > Another question (it´s not this case), what's happen if one cluster node > crashes in the middle of rebalance process? > > Thanks! > > > > -- > Sent from: http://apache-ignite-users.70518.x6.nabble.com/ >
