-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Fix LP tests filters check and add to smoke tests in CI #11649
Conversation
…me sanity checks, add 3 log poller tests to integration pipeline
I see that you haven't updated any CHANGELOG files. Would it make sense to do so? |
@@ -369,6 +369,24 @@ jobs: | |||
nodes: 1 | |||
os: ubuntu-latest | |||
pyroscope_env: ci-smoke-forwarder-ocr-evm-simulated | |||
- name: log-poller-finality-tag |
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.
Two questions:
- Is it possible to run these tests in parallel?
- If the answer to the above is no then do we think we will need to add more log poller tests? We have a setup using json files to handle test files with multiple docker based tests that helps us notice when a new test is added but not added to CI with that. With only 3 tests it might be overkill to move to that but if we are going to be adding any more we might want to go that route.
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 parallel as in a separate job that runs parallel to this one? I think it should be, but unless we decide we want to run all 6 smoke tests not just 3 of them, then imho it's not needed.
- @reductionista do you think it makes sense to run 3 tests we have (regular one, replay, chaos) for both fixed and finality tag versions or it's enough if we run any of these 3 tests with fixed depth and rest with finality tag?
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 don't see much point in running any of these tests in CI yet until we add a way to disable backup logpoller in config. I guess we can run them, but we may get a lot of false positives.
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 think once we are ready to run all of them, we should probably run all 6... because there could be different bugs with fixed depth and finality tag for any of those situations
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 the end I did what you suggested, @tateexon
@reductionista I think it's better to run them even if they are not testing LP in isolation, because backup poller is covering whatever issues we might have, we might still catch something.
Have we tested this to make sure it passes with backup logpoller disabled? Right now, we can only do that manually, so the CI test will have a lot of false positives. But I'll try and make it configurable soon, so we can disable it in CI during these tests as well. |
@reductionista I did not, do I assume correctly that this should do the trick of disabling backup poller sufficiently?
|
DO NOT MERGE UNITL I REMOVE INCREASED BACKUP POLLER TICK INTERVAL |
@reductionista so... there's a situation, when one tests still fails reliably with backup poller disabled and that's chaos test, in case when it pauses postgres db container during log emission. Some logs might get lost in that case. If backup poller is running they are later correctly processed. When it's not, the test fails. I didn't have time yet to look at node logs to see what's happening there. |
Doing that it will still run once at the very beginning. I'm not sure if that's a problem, as it would likely just do nothing and happen before the tests actually get started. But just in case I've been doing it like this... so that it will never run:
|
…it/chainlink into lp_tests_final_fix_and_ci
…g logs if any are missing
…it/chainlink into lp_tests_final_fix_and_ci
@@ -328,7 +328,7 @@ jobs: | |||
run: -run TestOCRJobReplacement | |||
file: ocr | |||
pyroscope_env: ci-smoke-ocr-evm-simulated | |||
- name: ocr2 | |||
- name: ocr2-replacement |
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.
Won't this break the run? I thought names were used to help determine files?
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.
well, smoke tests pass, no? ;-)
@@ -12,11 +12,13 @@ import ( | |||
"testing" | |||
"time" | |||
|
|||
"cosmossdk.io/errors" |
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.
Did you mean to use the standard errors instead?
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.
already removed :-)
SonarQube Quality Gate 0 Bugs No Coverage information |
FIxes 3 issues:
It also adds a couple of sanity checks to make sure that:
Last, but not least I've simplified log await logic (basically query logs from a huge range and repeat until success or timeout) and added LP tests to our integration tests job that runs on each commit.
Once it's merged #11649 can be closed.