-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
feat(NODE-6305): Add CSOT support to tailable cursors #4218
Merged
Merged
Changes from all commits
Commits
Show all changes
141 commits
Select commit
Hold shift + click to select a range
d513fd6
feat(NODE-6090): Implement CSOT logic for connection checkout and ser…
W-A-James 7d65aae
test(NODE-6120): Implement Unified test runner changes for CSOT (#4121)
W-A-James 954e713
refactor(NODE-6187): refactor to use TimeoutContext abstraction (#4131)
W-A-James c5969b2
refactor(NODE-6230): executeOperation to use iterative retry mechanis…
nbbeeken 8599cb3
feat(NODE-5682): set maxTimeMS on commands and preempt I/O (#4174)
nbbeeken 7b9fa1f
feat(NODE-6231): Add CSOT behaviour for retryable reads and writes (#…
W-A-James 260d679
feat(NODE-6312): add error transformation for server timeouts (#4192)
nbbeeken 78eb356
add timeoutMode to find, findOne, listIndexes, aggregate, listCollect…
W-A-James a22784d
unskip spec tests
W-A-James 6c423e0
implement prose tests
W-A-James 978d8dd
Add timeoutMode to abstract cursor and add validation
W-A-James 5317378
Add $out and $merge validation
W-A-James 7c459e0
start csot cursor implementation
W-A-James 0a2e4ce
WIP: int testing
W-A-James ac97b5a
WIP
W-A-James 02f835e
fix test
W-A-James 1e65e25
correctly propagate timeoutMode
W-A-James 0bc7793
rework test skip logic
W-A-James f83d3ef
wip
W-A-James 9549fd4
prose tests WIP
W-A-James 173796b
put CSOT options on runCursorCommand
W-A-James 9fc4c4e
finish up int tests
W-A-James 507af55
timeoutContext refresh fix
W-A-James 1f27040
apply CSOT to hasNext and tryNext
W-A-James af02eb8
sync spec tests
W-A-James 679c02c
add omitMaxTimeMS
W-A-James abc1cfd
skipping spec tests
W-A-James b64af7b
pass through timeoutMS arg to cursor.close
W-A-James 628eb55
Fix tests and dropindexes
W-A-James e90e7ed
add catch
W-A-James cbbd7e7
ensure that CSOT tests only run against 4.4 or greater
W-A-James fd43e60
lint
W-A-James bcb6e70
ignore
W-A-James 2ac4b0f
update export test
W-A-James ba0dc00
remove TODO
W-A-James 1fb6c7d
use cursorOptions instead of CursorInitializeOptions
W-A-James 343829f
remove CursorInitializeOptions and fix export
W-A-James 441f71d
Review fixes
W-A-James a9b4f02
fix setting of omitMaxTimeMS opts
W-A-James 041b202
ensure that timeoutMS is provided to cursor.close in UTR
W-A-James cff3c3c
add modified spec test
W-A-James 0488d50
remove redundant optional chaining
W-A-James 4a6607f
remove cursorTimeoutMode from timeoutContext options
W-A-James 96ecddc
remove types from expected exports
W-A-James 504eec2
remove cursorTimeoutMode from TimeoutContext.create call
W-A-James cb810e2
review comments
W-A-James 54286ae
lint
W-A-James 9114290
type annotation and bracket reorganization
W-A-James a47337b
skip flaky test and replace with more consistent one
W-A-James 3236c83
spec test fixes
W-A-James 743b55f
lint
W-A-James 5f4ba4c
unskip tailable cursor spec tests
W-A-James fe62afb
unskip prose test
W-A-James f6aa44b
WIP
W-A-James 134259c
WIP
W-A-James 5a30b84
update tests
W-A-James 5eb53ca
WIP
W-A-James 8e6069b
WIP
W-A-James f997eed
test fixes
W-A-James 095234a
update spec runner
W-A-James 2ec0219
unskip spec tests
W-A-James f98c095
WIP
W-A-James b5006de
WIP - updated spec test files
W-A-James c110bcb
change streams WIP
W-A-James 3c2ec0a
feat(NODE-6090): Implement CSOT logic for connection checkout and ser…
W-A-James 909578f
test(NODE-6120): Implement Unified test runner changes for CSOT (#4121)
W-A-James e101750
refactor(NODE-6187): refactor to use TimeoutContext abstraction (#4131)
W-A-James e4efd3f
refactor(NODE-6230): executeOperation to use iterative retry mechanis…
nbbeeken 22082c9
feat(NODE-5682): set maxTimeMS on commands and preempt I/O (#4174)
nbbeeken bf95fa4
feat(NODE-6231): Add CSOT behaviour for retryable reads and writes (#…
W-A-James c63d102
feat(NODE-6312): add error transformation for server timeouts (#4192)
nbbeeken 1eab23d
feat(NODE-6313): add CSOT support to sessions and transactions (#4199)
nbbeeken 4c4b0a9
feat(NODE-6304): add CSOT support for non-tailable cursors (#4195)
W-A-James 558d416
fix(NODE-6374): MongoOperationTimeoutError inherits MongoRuntimeError…
nbbeeken 3ed4a14
test: remove empty skipped context blocks (#4238)
W-A-James 45483b7
Merge branch 'NODE-6090' into NODE-6305
W-A-James ae83865
Revert "Merge branch 'NODE-6090' into NODE-6305"
W-A-James 5045ec3
Reapply "Merge branch 'NODE-6090' into NODE-6305"
W-A-James d3438ea
feat(NODE-5844): add iscryptd to ServerDescription (#4239)
nbbeeken 23c9cb1
resolve merge errors
W-A-James abe7827
resolve merge errors
W-A-James f7227a7
fixed tests
W-A-James 7a400c7
lint
W-A-James 9e90e13
unskip prose tests
W-A-James 0fdeaa4
add new benchmarks
W-A-James 6c127b9
do not add timeoutMS to create command
W-A-James fb87725
add todo
W-A-James 2fde74c
Merge branch 'NODE-6090' into NODE-6305
W-A-James f5634e6
update prose test
W-A-James acbc170
skip change stream spec tests
W-A-James 2c4aafb
create modified spec tests for coverage
W-A-James 31b2115
update modified spec tests
W-A-James 4ac2ece
cleanup
W-A-James 6b12b6e
lint
W-A-James 3233a66
lint
W-A-James 10cc4bf
comment debug code
W-A-James 588735b
revert change_stream changes
W-A-James a5d7dcc
revert changes to change_stream_cursor
W-A-James 257540a
remove duplicated logic
W-A-James 733980c
bump timeouts
W-A-James c66dc7f
change timeoutMS to match spec
W-A-James db47396
fix flaky tests
W-A-James 77c4014
fix benchmarks
W-A-James 93746b7
fix tests
W-A-James 91b3948
review comments
W-A-James 7a37fd8
review comments
W-A-James 8901b67
enable CSOT by default for benchmarks
W-A-James 88ea7df
lint
W-A-James eadcff3
skip test on incompatible server versions
W-A-James 8b4c6fe
add test metadata
W-A-James 609a550
lint
W-A-James 999f23d
feat(NODE-6090): Implement CSOT logic for connection checkout and ser…
W-A-James 0355404
test(NODE-6120): Implement Unified test runner changes for CSOT (#4121)
W-A-James 5ef3d69
refactor(NODE-6187): refactor to use TimeoutContext abstraction (#4131)
W-A-James 7139b8f
refactor(NODE-6230): executeOperation to use iterative retry mechanis…
nbbeeken acfb4fc
feat(NODE-5682): set maxTimeMS on commands and preempt I/O (#4174)
nbbeeken 4efff95
feat(NODE-6231): Add CSOT behaviour for retryable reads and writes (#…
W-A-James 1997f81
feat(NODE-6312): add error transformation for server timeouts (#4192)
nbbeeken cc3ef8f
feat(NODE-6313): add CSOT support to sessions and transactions (#4199)
nbbeeken 38affae
feat(NODE-6304): add CSOT support for non-tailable cursors (#4195)
W-A-James 738188b
fix(NODE-6374): MongoOperationTimeoutError inherits MongoRuntimeError…
nbbeeken c4a7c2c
test: remove empty skipped context blocks (#4238)
W-A-James 5aa6d4c
feat(NODE-5844): add iscryptd to ServerDescription (#4239)
nbbeeken 17a2fde
chore: allow clientBulkWrite to use TimeoutContext (#4251)
W-A-James 1ed3132
Merge branch 'NODE-6090' into NODE-6305
W-A-James c29c4ab
lint
W-A-James 1e58f14
lint
W-A-James 2c1cb82
review comments
W-A-James 05c3fcd
remove duplicated logic
W-A-James 6aea417
add catch to dropCollection
W-A-James 20d4b91
skip tests on < 4.4
W-A-James 3cc81c2
Merge branch 'NODE-6090' into NODE-6305
W-A-James 66b3dd5
reskip problematic tests on 4.4
W-A-James 4918283
lint
W-A-James 52227d6
Merge branch 'NODE-6090' into NODE-6305
W-A-James 73c394b
Merge branch 'NODE-6090' into NODE-6305
W-A-James 04e226a
fix merge conflict
W-A-James 737b831
empty
W-A-James 199003a
wait for bulk write to finish
W-A-James 2b843b9
Merge branch 'NODE-6090' into NODE-6305
W-A-James 7225b4e
use separate collection for bulk write test
W-A-James 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 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
This file contains 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
This file contains 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
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -17,6 +17,7 @@ import { Aspect, defineAspects } from './operation'; | |
const ILLEGAL_COMMAND_FIELDS = new Set([ | ||
'w', | ||
'wtimeout', | ||
'timeoutMS', | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Added here as the benchmarks were adding the |
||
'j', | ||
'fsync', | ||
'autoIndexId', | ||
|
This file contains 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
This file contains 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
This file contains 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.
Added to ensure that
resolveOptions
options inheritance is actually able to get option fromMongoClient