-
Notifications
You must be signed in to change notification settings - Fork 41
Disable event history sanity check in test #2520
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
Open
dfordivam
wants to merge
1
commit into
hyperledger-labs:main
Choose a base branch
from
obsidiansystems:dn/integ-test-failure-fixes
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The logs pointed respectively:
Simtime:
Test failed: 'SvTimeBasedRoundMgmtIntegrationTest/round management', message: forAll failed, because...
Wallclock:
Test failed: 'SvReconcileSynchronizerConfigIntegrationTest/SV automation reconcile amulet config change to domain parameter', message: forAll failed, because...
This fix might still make sense, but it's not the one we stumbled upon, no?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
in wallclock this test was also run, and the failure was reported for tests which ran together.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what I'm saying is that the failure happened, for wallclock tests, in
SvReconcileSynchronizerConfigIntegrationTest
as this log indicates:Furthermore, the test
SvDevNetReonboardingIntegrationTest.scala
(which you've disabled here), which was scheduled to run afterwards, does not even manage to run because the plugin failed before it:The error "Could not create Prometheus HTTP server" happens for
sillyreasons when the plugin fails, as it did above.The point is, the flake happened in
SvReconcileSynchronizerConfigIntegrationTest
, not inSvDevNetReonboardingIntegrationTest
, which didn't manage to run.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I looked at the logs again, the
SvDevNetReonboardingIntegrationTest
did ran before the failure happened.Though I agree that this fix is not sufficient to avoid the failure happening due to the plugin.
If a test which disables the
EventHistorySanityCheckPlugin
is run along with another test which does not disable it, then the failure could still happen in the test which did not disable the plugin, since the underlying DB used by the tests is the same in both. (AFAIK the DB is not reset when running different tests).So the correct fix would be to run the tests requiring
EventHistorySanityCheckPlugin
to be disabled, separate from other tests. Perhaps the tests with the plugin disabled should be run in a separate bucket? (as done intest-full-class-names-*.log
?)There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(let me number things so I don't get lost 😄 )
Test still running after
log, but there's also this:and
so it's not actually doing any work until
13:23:24.131Z
... sorry I didn't mention/catch that earlier 🤦SvTimeBasedRoundMgmtIntegrationTest
andSvReconcileSynchronizerConfigIntegrationTest
might flake again.Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see, how did you see these DEBUG messages?
Given this, the diff of the events reported by the plugin, after running the
SvReconcileSynchronizerConfigIntegrationTest
, could be due to some real problem in synchronizer's workings / sync of events logic.The SV4 synchronizer emitted a reject verdict with record_time "1:39:36.000156Z" (having confirming_parties: [dso, sv4, digital-asset-eng-4]. This verdict was captured in SV1's (or SV2) scan-app, but was not part of the other SV's scan events.
Its hard to say what could be the cause of this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it's in the logs in the drive I shared with you, let me know if you don't have access / lost the link
You should also be able to find there by updateid (or similar) the verdict and updates as they happen across all 4 SVs