[
https://issues.apache.org/jira/browse/IGNITE-15033?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vyacheslav Koptilin resolved IGNITE-15033.
------------------------------------------
Fix Version/s: 2.12
Release Note: Fixed unexpected rebalance on an already rebalanced cluster.
Reviewer: Vyacheslav Koptilin
Resolution: Fixed
Hello [~v.pyatkov],
The fix looks good to me. Merged to the master branch. Thank you for your
contribution.
> AssertionError: Unexpected rebalance on rebalanced cluster
> ----------------------------------------------------------
>
> Key: IGNITE-15033
> URL: https://issues.apache.org/jira/browse/IGNITE-15033
> Project: Ignite
> Issue Type: Bug
> Reporter: Vladislav Pyatkov
> Assignee: Vladislav Pyatkov
> Priority: Major
> Fix For: 2.12
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> There is a low probability that the partition state restored incorrectly when
> a cache is starting with data on disk.
> The issue happened because cluster can save the partition meta page during it
> state is still restored.
> The code is shown below (GridCacheOffheapManager.java):
> {code:java}
> @Override public Map<Integer, Long> restorePartitionStates {
> //Here the metapage was restored from disk, but it state is not recovery in
> GridDhtLocalPartition.
> part.dataStore().init();
> ... // Here another thread will be able to execute saveStoreMetadata and
> set an incorrect state on the metapage.
> //State will be recovered only here.
> long pageAddr = pageMem.writeLock(grp.groupId(), partMetaId, partMetaPage);
> try {
> int stateId = io.getPartitionState(pageAddr);
> updateState(part, stateId);
> }
> finaly {
> pageMem.writeUnlock(grp.groupId(), partMetaId, partMetaPage, null,
> changed);
> }
> }
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)