-
Notifications
You must be signed in to change notification settings - Fork 494
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
ChangeFeedRequestOptions Refactor #1332
ChangeFeedRequestOptions Refactor #1332
Conversation
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.
Why are you Changing the default from Start From Now to Start From Beginning? This is a breaking change.
While I agree that this solves the problem of people passing invalid combination of values on the headers it does make the most common cases harder and forces users to write more code to achieve the same. Isn't there a middle ground?
By putting the continuation in the ChangeFeedRequestOptions the public surface becomes more complex than it should be if I just want to pass the continuation and it's not inline with any of our other iterators (GetItemQueryIterator, etc).
It is also breaking Change Feed Processor start from beginning on Multi Master accounts (see comment on ResultSetIteratorUtils.cs
.
Microsoft.Azure.Cosmos/src/Resource/QueryResponses/ChangeFeedIteratorCore.cs
Outdated
Show resolved
Hide resolved
Microsoft.Azure.Cosmos/src/RequestOptions/ChangeFeedRequestOptions.cs
Outdated
Show resolved
Hide resolved
...soft.Azure.Cosmos/src/Resource/QueryResponses/ChangeFeedPartitionKeyResultSetIteratorCore.cs
Outdated
Show resolved
Hide resolved
Microsoft.Azure.Cosmos/src/Resource/QueryResponses/StandByFeedIteratorCore.cs
Outdated
Show resolved
Hide resolved
Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.EmulatorTests/CosmosItemChangeFeedTests.cs
Outdated
Show resolved
Hide resolved
...e.Cosmos/tests/Microsoft.Azure.Cosmos.EmulatorTests/FeedToken/ChangeFeedIteratorCoreTests.cs
Outdated
Show resolved
Hide resolved
...e.Cosmos/tests/Microsoft.Azure.Cosmos.EmulatorTests/FeedToken/ChangeFeedIteratorCoreTests.cs
Outdated
Show resolved
Hide resolved
...e.Cosmos/tests/Microsoft.Azure.Cosmos.EmulatorTests/FeedToken/ChangeFeedIteratorCoreTests.cs
Outdated
Show resolved
Hide resolved
Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.Tests/StandByFeedContinuationTokenTests.cs
Show resolved
Hide resolved
Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.Tests/StandByFeedContinuationTokenTests.cs
Outdated
Show resolved
Hide resolved
Microsoft.Azure.Cosmos/src/ChangeFeedProcessor/Utils/ResultSetIteratorUtils.cs
Show resolved
Hide resolved
Microsoft.Azure.Cosmos/src/RequestOptions/ChangeFeedRequestOptions.cs
Outdated
Show resolved
Hide resolved
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.
Microsoft.Azure.Cosmos/src/ChangeFeedProcessor/Utils/ResultSetIteratorUtils.cs
Outdated
Show resolved
Hide resolved
Microsoft.Azure.Cosmos/src/RequestOptions/ChangeFeedRequestOptions.cs
Outdated
Show resolved
Hide resolved
Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.Tests/StandByFeedContinuationTokenTests.cs
Show resolved
Hide resolved
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.
Awesome work on the new types!
Is this work towards making the |
Microsoft.Azure.Cosmos/src/FeedRange/Continuations/FeedRangeCompositeContinuation.cs
Show resolved
Hide resolved
Microsoft.Azure.Cosmos/src/FeedRange/FeedRanges/FeedRangeRequestMessagePopulatorVisitor.cs
Show resolved
Hide resolved
Microsoft.Azure.Cosmos/src/Resource/FeedIterators/FeedRangeIteratorCore.cs
Show resolved
Hide resolved
Microsoft.Azure.Cosmos/src/Resource/QueryResponses/ChangeFeedIteratorCore.cs
Show resolved
Hide resolved
Microsoft.Azure.Cosmos/src/Resource/QueryResponses/ChangeFeedIteratorCore.cs
Show resolved
Hide resolved
...Azure.Cosmos/src/FeedRange/FeedRanges/FeedRangeContinuationRequestMessagePopulatorVisitor.cs
Show resolved
Hide resolved
Microsoft.Azure.Cosmos/src/FeedRange/FeedRanges/FeedRangePartitionKeyRangeExtractor.cs
Show resolved
Hide resolved
* made it so that it is clear that ifmatchetag and ifnonematchetag are not used * added start from types * added visitor * added visitors * wired throughout the codebase * set explicit default * fixed tests * fixed tests * resolved iteration comments * merged * fixed tests * updated preview API * more preview build errors * more build issues * grr * fixed tests * fixed build * added feed range to feed options to remove duplicated state * preview build * fixed NRE * preview build * asdf * fixed preview build errors * need to investigate why there are test failures * fixed request options tests * asdf * need to investigate in a clean brach * need to figure out what is wrong with the continuation token * fixed some tests * fixed XML comments * fixed infinite loop * need to investigate some changes * fixed one test * fixed continuation token bug * added clone method * fixed continuation token bug in standbyfeediterator * fixed another continuaiton token bug * need to remove because of start time * fixed test that needed to start from the begining * need to investigate this on master * updated continuation token * fixed diagnostics scope
* Revert "Revert "ChangeFeedRequestOptions Refactor (#1332)" (#1684)" This reverts commit b873a89. * marking test as ignored as agreed upon * added migration scenario * increased the priority of feed range continuation visitor * added a comment * made request changes * manual rename * resolved iteration comments Co-authored-by: Samer Boshra <sboshra@microsoft.com>
…ges (#1725) * Revert "Revert "ChangeFeedRequestOptions Refactor (#1332)" (#1684)" This reverts commit b873a89. * marking test as ignored as agreed upon * wired up changes * resolved iteration comments * merged * made start from a required field * added feedback from API review * resolved iteration comments * fixed tests * fixed feed range docs * removed unreachable code * fixed tests * fixed tests * fixed mocks * resolved iteration comments * fixed build issue * fixed test build errors * more build fixes * updated preview API json Co-authored-by: Samer Boshra <sboshra@microsoft.com> Co-authored-by: j82w <j82w@users.noreply.github.com>
ChangeFeedRequestOptions Refactor
Description
Refactored ChangeFeedRequestOptions to have the following design points: