[
https://issues.apache.org/jira/browse/IGNITE-29083?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18121170#comment-18121170
]
Ignite TC Bot commented on IGNITE-29083:
----------------------------------------
{panel:title=Branch: [pull/13625/head] Base: [master] : No blockers
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/13625/head] Base: [master] : New Tests
(4)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}
{color:#00008b}Cache 8{color} [[tests
4|https://ci2.ignite.apache.org/viewLog.html?buildId=9372787]]
* {color:#013220}IgniteCacheTestSuite8: MdcDcIsolationTest.testThreeWaySplit -
PASSED{color}
* {color:#013220}IgniteCacheTestSuite8:
MdcDcIsolationTest.testIsolatedFirstDcOfThree - PASSED{color}
* {color:#013220}IgniteCacheTestSuite8:
MdcDcIsolationTest.testIsolatedDcOfThree - PASSED{color}
* {color:#013220}IgniteCacheTestSuite8: MdcDcIsolationTest.testIsolatedDcOfTwo
- PASSED{color}
{panel}
[TeamCity *--> Run :: All*
Results|https://ci2.ignite.apache.org/viewLog.html?buildId=9372916&buildTypeId=IgniteTests24Java8_RunAll]
{color:#ffffff}tcbot-analysis-comment chainBuildId=9372916
rerunBuildIds=none{color}
> Add a JUnit base for multi-DC network split tests
> -------------------------------------------------
>
> Key: IGNITE-29083
> URL: https://issues.apache.org/jira/browse/IGNITE-29083
> Project: Ignite
> Issue Type: Task
> Reporter: Maksim Davydov
> Assignee: Maksim Davydov
> Priority: Minor
> Labels: IEP-140, ise
> Time Spent: 20m
> Remaining Estimate: 0h
>
> JUnit tests have no reliable way to cut the network between the data centers
> (DCs) of one cluster. The existing template,
> IgniteCacheTopologySplitAbstractTest, splits the cluster into two halves and
> waits for one exact topology version without a timeout. If the split ends in
> a different topology, the test hangs until it is killed. Its heal delivers
> the messages held during the split, which replays one side's view of the
> cluster on the other side.
> This adds MdcTopologySplitAbstractTest, a new abstract test on top of the
> template:
> - It splits the cluster into two or more sides by each node's DC. A client
> knows only the servers of its own DC, so it stays on that DC's side.
> - It waits up to 30 s until every node sees only its own side. Otherwise the
> test fails and logs what every node sees.
> - It heals by dropping the held messages and restarting every side but one.
> The restarted nodes rejoin and rebalance from the side that stayed up.
> The first test on it, MdcDcIsolationTest, checks the topology validator in
> four cases:
> - 3 DCs, majority validator, DC3 cut off: DC1 and DC2 write, DC3 rejects
> writes and serves reads.
> - The same with DC1 cut off, so that no DC is privileged.
> - 3 DCs split three ways: no side writes, every side reads.
> - 2 DCs with DC1 as the main one: DC2 cut off rejects writes and serves reads.
> After heal, every DC holds the same data and idle_verify finds no conflicts.
> Test code only.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)