Skip to content

IGNITE-27678 Same partitions on different nodes can hold different updates if writeThrough is enabled#12666

Open
zstan wants to merge 1 commit into
apache:masterfrom
zstan:ignite-27678
Open

IGNITE-27678 Same partitions on different nodes can hold different updates if writeThrough is enabled#12666
zstan wants to merge 1 commit into
apache:masterfrom
zstan:ignite-27678

Conversation

@zstan
Copy link
Copy Markdown
Contributor

@zstan zstan commented Jan 28, 2026

If there are any optimizations\code questions will be raised, first of all this tests need to be checked:

  1. IgniteCacheTxRecoveryRollbackTest
  2. IgniteTxCacheWriteSynchronizationModesMultithreadedTest [*] this test can highlights a lot of problems if there are any bugs, i suppose.

@zstan zstan marked this pull request as ready for review January 28, 2026 10:54
private static CountDownLatch nodeKill;

/** Tx message flag. */
private static volatile boolean finalTxMsgPassed;
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it used in static class

private static volatile boolean finalTxMsgPassed;

/** Session method flag. */
private static AtomicBoolean sessionTriggered = new AtomicBoolean();
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I prefer to store as is.

}
}
catch (RuntimeException e) {
U.error(log, "Exception raised during sessionEnd: ", e);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's make the massage more user-friendly. What does it mean, what are the issues?

@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud Bot commented Feb 2, 2026

Quality Gate Failed Quality Gate failed

Failed conditions
4 New Code Smells (required ≤ 1)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

/** {@inheritDoc} */
@Override public void onEvent(DiscoveryEvent evt, DiscoCache discoCache) {
U.awaitQuiet(MapCacheStore.txCoordStoreLatch);
doSleep(500);
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

smell a bit, but still possible race (i believe not in real expluatation) when salvage related code moves faster than common commit flow.

@zstan zstan requested review from Vladsz83 and alex-plekhanov and removed request for Vladsz83 March 13, 2026 11:29
@zstan zstan force-pushed the ignite-27678 branch 2 times, most recently from 5fbb2eb to 9d8ea16 Compare March 13, 2026 11:52
@sonarqubecloud
Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants