Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IGNITE-21792 fix ItNodeTest#testFollowerStartStopFollowing flakiness #4990

Closed
wants to merge 115 commits into from
Closed
Changes from 4 commits
Commits
Show all changes
115 commits
Select commit Hold shift + click to select a range
7a0c319
refactor: use junit timeout exceptions and remove time constrains fro…
12rcu Jan 1, 2025
64cc5c7
temp: add test action to test flakiness in a ci environment
12rcu Jan 1, 2025
74f54b7
remove flaky detection action and increase timeout
12rcu Jan 2, 2025
88cd093
remove flaky detection action
12rcu Jan 2, 2025
4f7f341
IGNITE-23597 Cache latest term values in log manager (#5005)
ibessonov Jan 9, 2025
e3f7c9a
IGNITE-23712 Get rid of ticks on RW requests.
ascherbakoff Jan 10, 2025
d29efc5
IGNITE-24163 Optimize EventLog (#5004)
PakhomovAlexander Jan 10, 2025
a9d3974
IGNITE-23736 Sql. Provide ability to catch start/finish events for qu…
xtern Jan 10, 2025
e676ea5
IGNITE-24080 Fix config path reading in CLI init command (#5001)
Pochatkin Jan 10, 2025
7eb75ec
IGNITE-24014 Introduce a way to have key-value entries in configurati…
sashapolo Jan 10, 2025
afa4166
Bump org.rocksdb:rocksdbjni from 9.7.3 to 9.7.4 (#5025)
dependabot[bot] Jan 11, 2025
4423d07
Bump com.github.spotbugs from 6.0.27 to 6.1.0 (#5024)
dependabot[bot] Jan 11, 2025
4dcc0b2
Bump org.springframework.data:spring-data-jdbc from 3.4.0 to 3.4.1 (#…
dependabot[bot] Jan 11, 2025
bfdfd23
IGNITE-24062 Use throttled logger for heap lock manager (#5015)
vldpyatkov Jan 11, 2025
a57ee5f
IGNITE-24059 Reuse compute serialization in client and embedded APIs …
ptupitsyn Jan 13, 2025
f0ef09f
IGNITE-24172 IndexMetaStorageRecoveryTest#testMissingDropTableWithUpd…
tkalkirill Jan 13, 2025
86fd823
IGNITE-24162 .NET: Fix ComputeTests on Windows (#5033)
ptupitsyn Jan 13, 2025
4202f60
IGNITE-23885 Start partition in a common manner in case of a single e…
Cyrill Jan 13, 2025
2e3aaf5
IGNITE-23947: Sql. Add a test to check operator signatures (#5014)
lowka Jan 13, 2025
3266a06
IGNITE-24179 Fix SQL command exception handler providing (#5034)
Pochatkin Jan 13, 2025
3ce16d5
IGNITE-24176 Sql. Make BinaryTupleComparator use SQL conformed orderi…
AMashenkov Jan 13, 2025
48b06e0
IGNITE-24138 Fix highestRevision check for HA reset case (#5020)
kgusakov Jan 13, 2025
e7701a7
IGNITE-24031 Sql schema. Extend IgniteCatalog API with supporting qua…
zstan Jan 14, 2025
0700f33
IGNITE-23920 Shutdown node on SIGTERM (#5010)
Pochatkin Jan 14, 2025
8f08d3b
IGNITE-24189 Fix some `<pre>{@code` javadoc entries (#5042)
ibessonov Jan 14, 2025
2d2cdfb
IGNITE-24205 Fix flaky ItMetaStorageServiceTest#testRemoveByPrefix (#…
sashapolo Jan 14, 2025
9395d1e
Bump org.rocksdb:rocksdbjni from 9.7.4 to 9.8.4 (#5036)
dependabot[bot] Jan 14, 2025
363f7a7
Bump Nerdbank.GitVersioning in /modules/platforms/dotnet (#5035)
dependabot[bot] Jan 14, 2025
6b4a633
IGNITE-24185 Add a message to analyze flaky ItMetaStorageCompactionTr…
tkalkirill Jan 14, 2025
8ec31d2
IGNITE-23949 Sql. Disable unsupported ASOF join (#5029)
zstan Jan 15, 2025
d5957d0
IGNITE-24174 Unify Compute API (#5016)
valepakh Jan 15, 2025
85d36ec
IGNITE-21122 Sql. Introduce attributes for SqlQueryType and use them …
lowka Jan 15, 2025
808147b
IGNITE-24202 Fix ItNodeTest#longBatchInStateMachineAndShutdown() flak…
rpuch Jan 15, 2025
747db12
IGNITE-24208 Refactor configuration annotation processor (Part 1) (#5…
sashapolo Jan 15, 2025
5244025
IGNITE-24211 Sql. Fix invalid qualified name usage in Catalog object …
AMashenkov Jan 15, 2025
6cca1f4
IGNITE-24167 Sql. Introduce heuristics to optimize join order (#5026)
korlov42 Jan 15, 2025
ba06feb
IGNITE-17166 Refactor configuration annotation processor (Part 2) (#5…
sashapolo Jan 15, 2025
cfc6926
Bump Microsoft.Extensions.Logging.Console in /modules/platforms/dotne…
dependabot[bot] Jan 16, 2025
02ab9fd
Bump netty from 4.1.116.Final to 4.1.117.Final (#5049)
dependabot[bot] Jan 16, 2025
80cc35a
Bump io.swagger:swagger-annotations from 1.6.14 to 1.6.15 (#5055)
dependabot[bot] Jan 16, 2025
b042b19
IGNITE-20694 Add system properties for configuring HeapLockManager (#…
sashapolo Jan 16, 2025
6989419
IGNITE-24197 .NET: Unify Сompute API (#5050)
ptupitsyn Jan 16, 2025
eb05ff2
IGNITE-24217 Running multiple compute jobs fails (#5057)
valepakh Jan 16, 2025
0f61e02
IGNITE-24225 fix build on java 21 (#5058)
myskov Jan 16, 2025
08f5500
Bump io.dropwizard.metrics:metrics-core from 4.2.29 to 4.2.30 (#5054)
dependabot[bot] Jan 16, 2025
1353d9c
Bump bouncycastle from 1.79 to 1.80 (#5053)
dependabot[bot] Jan 16, 2025
baaf185
Bump io.opentelemetry:opentelemetry-exporter-otlp from 1.45.0 to 1.46…
dependabot[bot] Jan 16, 2025
cae964a
IGNITE-24141 .NET: Fix TestResultConsumerCancellation flakiness (#5063)
ptupitsyn Jan 16, 2025
d27c6f7
IGNITE-24203 Fix NullPointerException in ClusterManagementController#…
tkalkirill Jan 17, 2025
4d95d15
IGNITE-24017 Sql. StorageScanNode SubscriberImpl onNext can be called…
zstan Jan 17, 2025
9175713
IGNITE-23601 Add broadcast partitioned compute method (#5056)
valepakh Jan 17, 2025
8bccac1
IGNITE-22688 Make async continuation executor configurable in IgniteS…
rpuch Jan 17, 2025
4a82ddd
IGNITE-24248 Support configuration syntax for multiple binding addres…
rpuch Jan 17, 2025
cdb217d
IGNITE-24223 Remove invalid assert (#5071)
sanpwc Jan 17, 2025
40baa2d
IGNITE-24249 Switch fsync setting for tables to false by default (#5070)
rpuch Jan 17, 2025
cc3c463
IGNITE-24236 Reduce log pollution by LogicalNode (#5066)
sashapolo Jan 20, 2025
1fba9dd
IGNITE-23747 Support timeouts for RO transactions (#4902)
rpuch Jan 20, 2025
60f6f58
IGNITE-23936 Java thin: Support broadcast partitioned (#5068)
valepakh Jan 20, 2025
7942688
IGNITE-24194 testCleanStates is flaky (#5075)
valepakh Jan 20, 2025
046f643
IGNITE-24030: Schema commands DDL handler. (#5021)
lowka Jan 20, 2025
05c673f
IGNITE-24254 Thin client: add schema name placeholder to protocol (#5…
ptupitsyn Jan 20, 2025
30a75c8
IGNITE-24239 Create a reproducer for IGNITE-23588 (#5065)
ibessonov Jan 21, 2025
96f8399
IGNITE-23967 Python DB API Fix fetching long result sets (#5082)
isapego Jan 21, 2025
076d3af
IGNITE-24150 Ability to have different prefixes for exceptions (#4991)
ygerzhedovich Jan 21, 2025
b64d2b1
IGNITE-24187 Fix code style issues in SystemDistributedConfigurationP…
kgusakov Jan 21, 2025
422cbfc
IGNITE-24055 Sql. Update the observation timestamp only after process…
xtern Jan 21, 2025
b689b54
IGNITE-23873 Sql. Fix processing Infinite and NaN values after calcit…
zstan Jan 21, 2025
f09ef10
IGNITE-24259 Improve NodeStoppingException handling (#5076)
rpuch Jan 21, 2025
1e4d9ea
IGNITE-24271 Do not pass NodeStoppingException to FailureHandler in W…
rpuch Jan 21, 2025
46b7a33
Revert "IGNITE-24254 Thin client: add schema name placeholder to prot…
ptupitsyn Jan 21, 2025
2d20b60
IGNITE-24238 Fix flaky testCreationZoneWhenDataNodesAreDeletedIsNotSu…
sashapolo Jan 21, 2025
a279bec
IGNITE-24089 Introduce chain and link abstractions (#5046)
Cyrill Jan 21, 2025
1092654
IGNITE-24273 Fix flaky ItNodeTest#testInstallSnapshot (#5091)
tkalkirill Jan 22, 2025
99bce25
IGNITE-24269 Fix race during updating tableSize map (#5088)
korlov42 Jan 22, 2025
4634c8a
IGNITE-24276 Thin client: return actual table name from TABLE_GET (#5…
ptupitsyn Jan 22, 2025
af08c19
IGNITE-24277 Add necessary `log.isDebugEnabled()` checks in `ignite-p…
ibessonov Jan 22, 2025
4e10fa4
IGNITE-24200 C++ Unify Compute API (#5094)
isapego Jan 22, 2025
dd54b24
IGNITE-24268 Minor refactoring in PartitionReplicaLifecycleManager (#…
sashapolo Jan 22, 2025
866e3ec
IGNITE-24053 Jdbc. Use single observable time tracker for multiple JD…
xtern Jan 22, 2025
558f9b2
Bump org.assertj:assertj-core from 3.27.2 to 3.27.3 (#5079)
dependabot[bot] Jan 22, 2025
dc05ab9
Bump net.bytebuddy:byte-buddy from 1.15.11 to 1.16.1 (#5078)
dependabot[bot] Jan 22, 2025
b2d929e
Bump com.github.spotbugs from 6.1.0 to 6.1.2 (#5073)
dependabot[bot] Jan 22, 2025
abaa624
Bump org.springframework.data:spring-data-jdbc from 3.4.1 to 3.4.2 (#…
dependabot[bot] Jan 22, 2025
36a1575
Bump io.swagger.core.v3:swagger-annotations from 2.2.27 to 2.2.28 (#5…
dependabot[bot] Jan 23, 2025
8f41f1b
IGNITE-23079 Make Raft storages destruction durable (#4987)
Phillippko Jan 23, 2025
6c07a9e
IGNITE-24207 Speed ​​up Netty channel creation when using SSL (#5097)
tkalkirill Jan 23, 2025
3ae63f2
IGNITE-24221 Implement new benchmarks that cover creating a distribut…
sk0x50 Jan 23, 2025
05902e1
IGNITE-24292 Fix IndexOutOfBoundsException from jraft IteratorImpl#do…
tkalkirill Jan 23, 2025
58e68b9
IGNITE-24295 Sql. TpcdsQueryPlannerTest query 64 timeouts (#5100)
korlov42 Jan 23, 2025
9eda3c6
IGNITE-24137 Add HIGH_AVAILABILITY mode to zone suites, where valuabl…
kgusakov Jan 23, 2025
9acce8b
IGNITE-24209 Added tests for filters and storage profiles awareness o…
kgusakov Jan 23, 2025
19ea6b0
IGNITE-24302 .NET: Fix publicReleaseRefSpec (#5104)
ptupitsyn Jan 23, 2025
2332930
IGNITE-24281 Update version to 3.1.0-SNAPSHOT (#5105)
ptupitsyn Jan 23, 2025
fed8b0e
IGNITE-23489 Add rest endpoint to retrieve active transactions and ru…
nevdmitry Jan 24, 2025
f843e2a
IGNITE-24029 Sql schema. Extend Table API with supporting qualified n…
AMashenkov Jan 24, 2025
175fd9e
IGNITE-24297 DB API: Accept str value as argument for connect() (#5114)
isapego Jan 24, 2025
044313d
IGNITE-23769 Compute job cancel race (#5095)
valepakh Jan 24, 2025
9b5b7d6
IGNITE-24308 Log max heap and available processors on start (#5116)
rpuch Jan 24, 2025
32069fe
IGNITE-24305 Fix broken Public API compatibility with 3.0 (#5115)
AMashenkov Jan 24, 2025
4a08a41
IGNITE-24306 Update README for 3.0 release (#5117)
IgGusev Jan 24, 2025
f70c7d5
IGNITE-23792 Sql. Cleanup the query cancellation handling (#5111)
korlov42 Jan 24, 2025
ff36633
IGNITE-24267 Heap lock manager behave incorrectly in case of overflow…
vldpyatkov Jan 27, 2025
a683d00
IGNITE-24316 wait system view initialization in integration tests (#5…
nevdmitry Jan 27, 2025
00dbd45
IGNITE-24313 Improve invocation timeout exception message (#5122)
rpuch Jan 27, 2025
0b3fc07
IGNITE-24033 Sql schema. Extend Compute API with supporting qualified…
zstan Jan 27, 2025
eeccb9c
IGNITE-24215 Improve internal Catalog API (#5112)
AMashenkov Jan 27, 2025
210ee23
Merge remote-tracking branch 'origin/main' into IGNITE-20902
12rcu Jan 27, 2025
f1b0559
wip: add better errors for timeout errors
12rcu Jan 27, 2025
dec3cfe
refactor: use junit timeout exceptions and remove time constrains fro…
12rcu Jan 1, 2025
a6d3065
temp: add test action to test flakiness in a ci environment
12rcu Jan 1, 2025
bb1b9d1
remove flaky detection action and increase timeout
12rcu Jan 2, 2025
5f29282
remove flaky detection action
12rcu Jan 2, 2025
5229ec4
wip: add better errors for timeout errors
12rcu Jan 27, 2025
3827640
Merge remote-tracking branch 'origin/IGNITE-20902' into IGNITE-20902
12rcu Jan 27, 2025
e3531e7
wip: remove debug
12rcu Jan 28, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,7 @@
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestInfo;
import org.junit.jupiter.api.Timeout;
import org.junit.jupiter.api.extension.ExtendWith;

/**
Expand Down Expand Up @@ -2706,12 +2707,12 @@ public void testAppendEntriesWhenFollowerIsInErrorState() throws Exception {
}

@Test
@Disabled("https://issues.apache.org/jira/browse/IGNITE-21792")
@Timeout(value = 25_000, unit = TimeUnit.MILLISECONDS)
public void testFollowerStartStopFollowing() throws Exception {
// start five nodes
List<TestPeer> peers = TestUtils.generatePeers(testInfo, 5);

cluster = new TestCluster("unitest", dataPath, peers, ELECTION_TIMEOUT_MILLIS, testInfo);
cluster = new TestCluster("unittest", dataPath, peers, ELECTION_TIMEOUT_MILLIS, testInfo);

for (TestPeer peer : peers)
assertTrue(cluster.start(peer));
Expand All @@ -2726,8 +2727,7 @@ public void testFollowerStartStopFollowing() throws Exception {
List<Node> firstFollowers = cluster.getFollowers();
assertEquals(4, firstFollowers.size());
for (Node node : firstFollowers) {
assertTrue(
waitForCondition(() -> ((MockStateMachine) node.getOptions().getFsm()).getOnStartFollowingTimes() == 1, 5_000));
Comment on lines -2732 to -2733
Copy link
Author

@12rcu 12rcu Jan 5, 2025

Choose a reason for hiding this comment

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

Suggested change
assertTrue(
waitForCondition(() -> ((MockStateMachine) node.getOptions().getFsm()).getOnStartFollowingTimes() == 1, 5_000));
assertTimeoutPreemptively(Duration.ofMillis(5_000), () -> {
assertEquals(1, ((MockStateMachine) node.getOptions().getFsm()).getOnStartFollowingTimes());
});

assertEquals(1, ((MockStateMachine) node.getOptions().getFsm()).getOnStartFollowingTimes());
assertEquals(0, ((MockStateMachine) node.getOptions().getFsm()).getOnStopFollowingTimes());
}

Expand All @@ -2742,8 +2742,7 @@ public void testFollowerStartStopFollowing() throws Exception {
List<Node> secondFollowers = cluster.getFollowers();
assertEquals(3, secondFollowers.size());
for (Node node : secondFollowers) {
assertTrue(
waitForCondition(() -> ((MockStateMachine) node.getOptions().getFsm()).getOnStartFollowingTimes() == 2, 5_000));
assertEquals(2, ((MockStateMachine) node.getOptions().getFsm()).getOnStartFollowingTimes());
assertEquals(1, ((MockStateMachine) node.getOptions().getFsm()).getOnStopFollowingTimes());
}

Expand All @@ -2760,14 +2759,12 @@ public void testFollowerStartStopFollowing() throws Exception {
for (int i = 0; i < 3; i++) {
Node follower = thirdFollowers.get(i);
if (follower.getNodeId().getPeerId().equals(secondLeader.getNodeId().getPeerId())) {
assertTrue(
waitForCondition(() -> ((MockStateMachine) follower.getOptions().getFsm()).getOnStartFollowingTimes() == 2, 5_000));
assertEquals(1,
((MockStateMachine) follower.getOptions().getFsm()).getOnStopFollowingTimes());
assertEquals(2, ((MockStateMachine) follower.getOptions().getFsm()).getOnStartFollowingTimes());
assertEquals(1, ((MockStateMachine) follower.getOptions().getFsm()).getOnStopFollowingTimes());
continue;
}

assertTrue(waitForCondition(() -> ((MockStateMachine) follower.getOptions().getFsm()).getOnStartFollowingTimes() == 3, 5_000));
assertEquals(3, ((MockStateMachine) follower.getOptions().getFsm()).getOnStartFollowingTimes());
assertEquals(2, ((MockStateMachine) follower.getOptions().getFsm()).getOnStopFollowingTimes());
}

Expand Down