Skip to content

Conversation

@ionutzpi
Copy link
Contributor

@ionutzpi ionutzpi commented Oct 4, 2024

Remove asserts for flaky tests in VersionGarbageCollectorIT and BranchCommitGCTest

Copy link
Contributor

@reschke reschke left a comment

Choose a reason for hiding this comment

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

Re-enabling tests sounds good to me.

@Joscorbe
Copy link
Member

Joscorbe commented Oct 4, 2024

I have approved the run in the pipeline to see the result of tests.

@stefan-egli
Copy link
Contributor

I probably missed this : what was the fix done that allows this?

@ionutzpi
Copy link
Contributor Author

ionutzpi commented Oct 7, 2024

@stefan-egli adding code to drop tables for RDB H2 solved some issues previous generated.

@stefan-egli
Copy link
Contributor

@ionutzpi the flakyness wasn't specifically on RDB though, we don't have it documented consistently but for example OAK-10843 and OAK-10853, which introduced some of those assumeTrue, were on MongoDb. I don't think we can re-enable them based on the RDB fix alone.

@reschke reschke self-requested a review October 8, 2024 11:33
Copy link
Contributor

@reschke reschke left a comment

Choose a reason for hiding this comment

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

as @stefan-egli said - this only make sense if the underlying problems were fixed.

@ionutzpi
Copy link
Contributor Author

ionutzpi commented Oct 10, 2024

I added code in BranchCommitGCTest to fix some flaky tests that had assumeTrue in it.

Comment on lines 88 to 100
if (gcType == FullGCMode.ORPHANS_EMPTYPROPS_BETWEEN_CHECKPOINTS_NO_UNMERGED_BC
|| gcType == FullGCMode.ORPHANS_EMPTYPROPS_BETWEEN_CHECKPOINTS_WITH_UNMERGED_BC) {
// temporarily skip due to flakyness
continue;
}
if (f.getName().equals("Memory") || f.getName().startsWith("RDB")) {
// then only run NONE and EMPTY_PROPS, cause we are rolling EMPTY_PROPS first
if (gcType != FullGCMode.NONE && gcType != FullGCMode.EMPTYPROPS
&& gcType != FullGCMode.GAP_ORPHANS_EMPTYPROPS) {
// temporarily skip due to slowness
continue;
}
}
Copy link
Contributor

Choose a reason for hiding this comment

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

is this necessary? I'm aware we have the same over in VersionGarbageCollectorIT - but that was introduced based on some test flakyness. But for BranchCommitGCTest adding this would now disable fully functioning tests.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is not necessary. I will revert the changes.

}
}

public static void assertEventually(Runnable r, long timeoutMillis) {
Copy link
Contributor

Choose a reason for hiding this comment

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

+1 for an assertEventually


@Test
public void testBundledPropUnmergedBCGC() throws Exception {
assumeTrue(fullGcMode != FullGCMode.ORPHANS_EMPTYPROPS_KEEP_ONE_ALL_PROPS);
Copy link
Contributor

Choose a reason for hiding this comment

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

this was introduced due to this flaky test failure which happened on mongo - and IIUC then there's no fix for this. So the flakyness is likely still to be there. What's the idea of still enabling it?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I will revert the changes. I don't have a fix

Comment on lines 2662 to 2663
// OAK-10869:
assumeTrue(fullGcMode != FullGCMode.ORPHANS_EMPTYPROPS_KEEP_ONE_ALL_PROPS);
Copy link
Contributor

Choose a reason for hiding this comment

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

This was introduced as a result of the mentioned flaky failure on mongo. Thus same question: why re-add it without any underlying test fix?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I can close this PR and create a new one after further investigation

Copy link
Contributor

Choose a reason for hiding this comment

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

+1, might make sense to get the assertEventually improvement in and split this one here to a new PR

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I reverted deleted assumeTrue statements and keep assertEventually changes.

@ionutzpi
Copy link
Contributor Author

I will close this PR. Adding assertEventually will not solve FullGC modes that are flaky(disabled with assertTrue statement).
We will create a new PR when we will check FullGC modes other than GAP_ORPHANS and EMPTY_PROPS

@ionutzpi ionutzpi closed this Oct 15, 2024
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