Skip to content

[Segment Replication] Fixing flaky test failure happening for testShardAlreadyReplicating()#3943

Merged
Rishikesh1159 merged 5 commits intoopensearch-project:mainfrom
Rishikesh1159:main
Jul 20, 2022
Merged

[Segment Replication] Fixing flaky test failure happening for testShardAlreadyReplicating()#3943
Rishikesh1159 merged 5 commits intoopensearch-project:mainfrom
Rishikesh1159:main

Conversation

@Rishikesh1159
Copy link
Copy Markdown
Member

Signed-off-by: Rishikesh1159 rishireddy1159@gmail.com

Description

This PR fixes flaky test failure of testShardAlreadyReplicating()

Issues Resolved

#3872

Check List

  • New functionality includes testing.
    • All tests pass
  • New functionality has been documented.
    • New functionality has javadoc added
  • Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Signed-off-by: Rishikesh1159 <rishireddy1159@gmail.com>
@Rishikesh1159 Rishikesh1159 requested review from a team and reta as code owners July 19, 2022 06:10
@github-actions
Copy link
Copy Markdown
Contributor

Gradle Check (Jenkins) Run Completed with:

@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Jul 19, 2022

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 70.57%. Comparing base (07775ff) to head (076f0ab).
⚠️ Report is 4770 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff              @@
##               main    #3943      +/-   ##
============================================
- Coverage     70.57%   70.57%   -0.01%     
- Complexity    56679    56748      +69     
============================================
  Files          4563     4573      +10     
  Lines        272755   273255     +500     
  Branches      40040    40076      +36     
============================================
+ Hits         192505   192839     +334     
- Misses        64014    64178     +164     
- Partials      16236    16238       +2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

…rviceTests

Signed-off-by: Rishikesh1159 <rishireddy1159@gmail.com>
@github-actions
Copy link
Copy Markdown
Contributor

Gradle Check (Jenkins) Run Completed with:

@github-actions
Copy link
Copy Markdown
Contributor

Gradle Check (Jenkins) Run Completed with:

Copy link
Copy Markdown
Member

@mch2 mch2 left a comment

Choose a reason for hiding this comment

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

LGTM

public void testShardAlreadyReplicating() {
SegmentReplicationTargetService spy = spy(sut);
public void testShardAlreadyReplicating() throws InterruptedException {
SegmentReplicationTargetService serviceSpy = spy(sut);
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

nit - A comment here explaining why we need to spy on the service and what we are asserting would be useful.

Copy link
Copy Markdown
Member

@kartg kartg left a comment

Choose a reason for hiding this comment

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

Approving since the test is functioning properly, but please consider adding more comments to the testShardAlreadyReplicating test case to make it easier to understand. The test is manipulating a lot of objects to achieve a specific scenario and it's hard to quickly grok what each step is doing.

Comment on lines +63 to +64
cp = indexShard.getLatestReplicationCheckpoint();
newCheckpoint = new ReplicationCheckpoint(
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Nitpick - more descriptive variable names, please. cp is hard to decipher at first glance and newCheckpoint is confusing when it's being initialized to be equal to cp

SegmentReplicationTargetService spy = spy(sut);
public void testShardAlreadyReplicating() throws InterruptedException {
SegmentReplicationTargetService serviceSpy = spy(sut);
// Create a separate target and start it so the shard is already replicating.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This comment seems out of place now since the replication is not started until multiple lines later. Consider removing it

…cating() test case

Signed-off-by: Rishikesh1159 <rishireddy1159@gmail.com>
…to main

Signed-off-by: Rishikesh1159 <rishireddy1159@gmail.com>
@github-actions
Copy link
Copy Markdown
Contributor

Gradle Check (Jenkins) Run Completed with:

@Rishikesh1159 Rishikesh1159 merged commit 4466a1f into opensearch-project:main Jul 20, 2022
Rishikesh1159 added a commit to Rishikesh1159/OpenSearch that referenced this pull request Aug 10, 2022
…rdAlreadyReplicating() (opensearch-project#3943)

* Fixing flaky test failure happening for testShardAlreadyReplicating()

Signed-off-by: Rishikesh1159 <rishireddy1159@gmail.com>
Rishikesh1159 added a commit to Rishikesh1159/OpenSearch that referenced this pull request Aug 10, 2022
Signed-off-by: Rishikesh1159 <rishireddy1159@gmail.com>
Rishikesh1159 added a commit that referenced this pull request Aug 11, 2022
…#3943 #3963 From main branch (#4181)

* Resolving import conflict in Node.java and mergining PR #3525.

Signed-off-by: Rishikesh1159 <rishireddy1159@gmail.com>

* Resolving conflicts and merging PR #3533.

Signed-off-by: Rishikesh1159 <rishireddy1159@gmail.com>

* Resolving conflicts and Merging PR #3540.

Signed-off-by: Rishikesh1159 <rishireddy1159@gmail.com>

* Applying spotlesscheck and fixing wildcard imports.

Signed-off-by: Rishikesh1159 <rishireddy1159@gmail.com>

* [Segment Replication] Fixing flaky test failure happening for testShardAlreadyReplicating() (#3943)

* Fixing flaky test failure happening for testShardAlreadyReplicating()

Signed-off-by: Rishikesh1159 <rishireddy1159@gmail.com>

* Fix possible flaky test for testBeforeIndexShardClosed_CancelsOngoingReplications() (#3963)

* Fixing flaky test failure happening for testShardAlreadyReplicating()

Signed-off-by: Rishikesh1159 <rishireddy1159@gmail.com>

* Removing assert segrep() in getProcessedLocalCheckpoint() of Index.shard class.

Signed-off-by: Rishikesh1159 <rishireddy1159@gmail.com>

* Adding back assert statement and make index setting to segment replication in SegmentReplicationSourceHandlerTests and SegmentReplicationTargetServiceTests.

Signed-off-by: Rishikesh1159 <rishireddy1159@gmail.com>

* Revert "Adding back assert statement and make index setting to segment replication in SegmentReplicationSourceHandlerTests and SegmentReplicationTargetServiceTests."
Signed-off-by: Rishikesh1159 <rishireddy1159@gmail.com>
This reverts commit 8c5753b.

Signed-off-by: Rishikesh1159 <rishireddy1159@gmail.com>
Co-authored-by: Marc Handalian <handalm@amazon.com>
Co-authored-by: Poojita Raj <poojiraj@amazon.com>
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.

4 participants