Hi,
I would like to clarify the usage of the settings fetchPersistentState and fetchInMemoryState.
fetchPersistantState in the loader config :
Assume there are two nodes in the cluster A and B in replicated mode.
Each of the nodes have their own local cache store.
If we start node A first and then after some time start node B , the below behavior will happen based on fetchPersistantState
1.fetchPersistantState=false -> Node B will load the cache from the local cache store configured for node B.
2.fetchPersistantState=true -> Node B will first sync up the cache store with Node A . Basically all values from cache store of node A
will be copied to cache store of Node B and then Node B will start.
fetchInMemoryState in the stateRetrieval config :
Assume there are two nodes in the cluster A and B in replicated mode.
Each of the nodes have their own local cache store.
If we start node A first and then after some time start node B , the below behavior will happen based on fetchInMemoryState
1.fetchInMemoryState=false -> Node B will not sync up with the inmemory cache of node A .
2.fetchInMemoryState=true -> Node B will sync up and copy the values of node A into node B.
I feel the two flags are contradictory.
If I specify both the flags as true , then what will happen first ( assuming Node B joins the cluster after some time )
Will Node B cache store sync with A first or will the inmemory data from node A get copied first ?
Please clarify .
Would be nice to know the asnwer.