-
Notifications
You must be signed in to change notification settings - Fork 1.5k
3.8.x continuous matrix testing #653
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
Conversation
There's an integration test that asserts an exception is thrown when a change stream projects out the _id field. Running against 3.6 and 4.0, this condition is checked in the driver itself while processing the results. But in 4.4 the server started replying with an error on the getMore in this scenario. A newer driver would know not to retry in this case, because newer drivers implemented an allow list for resumeable change stream errors when the server version. But older drivers don't have that logic, so it will treat this command error as retryable and never actually report the error. JAVA-3942
The reply format has changed in a way that breaks the test. This test has been disabled in subsequent releases and ultimately just removed. JAVA-3942
Change the test so that it produces a non-zero score so that the score won't be excluded by later server versions. JAVA-3942
JAVA-3942
JAVA-3942
JAVA-3942
JAVA-3942
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.
Test uploading was actually broken in the 3.x branch, so I just fixed it.
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 presence of this function caused evergreen to refuse to load the file, so had to remove it.
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.
Ack
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.
These changes are to prevent the driver from failing when no statistics are present in the reply. Without this change, we can't run mapReduce operations at all.
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.
Ack
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.
Without this change, the server will fail to execute the operation
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.
Minor nit but LGTM after that
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.
Ack
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.
Ack
Uh oh!
There was an error while loading. Please reload this page.
This is a patch to the 3.8.x branch to fulfill the goals for continuous matrix testing for the 4.0-era driver, which was 3.8.0. Similar PRs will be done for the 4.2 and 4.4 era release branches. What I've done here is two things:
There's nothing really new here. All these changes have been applied already in one form or another to the master branch of the driver. It was just a matter of finding them and copying them to this branch.
JAVA-3942
Full patch build: https://spruce.mongodb.com/version/60133b4d9ccd4e019373ad0d/tasks?sorts=STATUS%3AASC%3BBASE_STATUS%3ADESC