-
Notifications
You must be signed in to change notification settings - Fork 2k
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
ChangeFeed pull model and switching CF processor to FeedRange #18056
Merged
FabianMeiswinkel
merged 120 commits into
Azure:master
from
FabianMeiswinkel:users/fabianm/cfpullWithFeedRanges
Jan 26, 2021
Merged
Changes from all commits
Commits
Show all changes
120 commits
Select commit
Hold shift + click to select a range
21e25e7
Initial draft of FeedRange artifacts
FabianMeiswinkel 6e69300
Merge branch 'master' of https://github.com/Azure/azure-sdk-for-java …
FabianMeiswinkel 40ef415
Iterating on FeedRange Apis
FabianMeiswinkel 54bed2e
Merge branch 'master' of https://github.com/Azure/azure-sdk-for-java …
FabianMeiswinkel 58f98e7
Merge branch 'master' of https://github.com/Azure/azure-sdk-for-java …
FabianMeiswinkel 46662e0
Adding public surface area
FabianMeiswinkel 03617a4
Adding FeedRange unit tests
FabianMeiswinkel b7de6b3
Adding test FeedRangePKRangeId_GetEffectiveRangesAsync_Refresh
FabianMeiswinkel 4095bc5
Adding test FeedRangePKRangeId_GetEffectiveRangesAsync_Null
FabianMeiswinkel 8e864be
Adding test feedRangeEPK_getPartitionKeyRangesAsync
FabianMeiswinkel 4ebd7cb
Adding test feedRangePK_getPartitionKeyRangesAsync
FabianMeiswinkel 2e6eb79
Adding test feedRangePKRangeId_getPartitionKeyRangesAsync
FabianMeiswinkel dc4c66c
Adding request visitor unit tests
FabianMeiswinkel 0ef3170
Finishing FeedRange tests
FabianMeiswinkel ae9dd96
Cleanup and prettifying
FabianMeiswinkel 4811e50
Prettifying feed range tests
FabianMeiswinkel 6515ff5
Fixes and new test for Conatiner.getFeedRanges()
FabianMeiswinkel 30e162e
Addressing some SpotBug violations
FabianMeiswinkel b08488a
Merge branch 'master' of https://github.com/Azure/azure-sdk-for-java …
FabianMeiswinkel c67b1f7
Iterating on Changefeed Pull model draft
FabianMeiswinkel 428be5e
Snapshot to be able to switch branches
FabianMeiswinkel fdfd53a
Merge branch 'master' of https://github.com/Azure/azure-sdk-for-java …
FabianMeiswinkel 913725e
Finishing switch from deleted ChangeFeedOptions to new public CosmosC…
FabianMeiswinkel afc2678
Adding basic json serialization test coverage for FeedRangeContinuation
FabianMeiswinkel 3bec34f
Snapshot - converting Chagefeed to FeedRanges - tests not working yet
FabianMeiswinkel c08a6b2
Merge branch 'master' of https://github.com/Azure/azure-sdk-for-java …
FabianMeiswinkel abfac43
Snapshot
FabianMeiswinkel b344204
Merge branch 'master' of https://github.com/Azure/azure-sdk-for-java …
FabianMeiswinkel 93f971d
Snapshot
FabianMeiswinkel d785579
Removing TODOs
FabianMeiswinkel 33ab685
Merge branch 'master' of https://github.com/Azure/azure-sdk-for-java …
FabianMeiswinkel 3b7936e
Fixing test regressions
FabianMeiswinkel 37b2a46
Fixing a couple SpotBug violations
FabianMeiswinkel 34ad1e5
Fixing few more SPotBug violations
FabianMeiswinkel 20aaccf
Fixing ChangeFeedState unit test
FabianMeiswinkel 9e55ea7
Code cleanup
FabianMeiswinkel 90f371f
Test code cleanup
FabianMeiswinkel d197486
Fixing a regression in Range json serialization
FabianMeiswinkel 332acfe
Fixing CF split unit test failure
FabianMeiswinkel 804e294
Merge branch 'master' of https://github.com/Azure/azure-sdk-for-java …
FabianMeiswinkel ececd08
Fixes for some code review feedback
FabianMeiswinkel 4f8a3a9
Fixing test flakiness (unrelated to actual change)
FabianMeiswinkel b7d675f
Merge branch 'master' of https://github.com/Azure/azure-sdk-for-java …
FabianMeiswinkel 7ceacd3
Adding ChangeFeedPolicy
FabianMeiswinkel ec9cd23
Merge branch 'master' of https://github.com/Azure/azure-sdk-for-java …
FabianMeiswinkel 01a4a68
Adding tests for ChangeFeedPolicy
FabianMeiswinkel 84f36ea
Fixing build break
FabianMeiswinkel 2f512e2
Fixing SpotBug issue
FabianMeiswinkel 714b9b2
Re-triggering CI
FabianMeiswinkel 3e149ed
Deleting temp data
FabianMeiswinkel 8bbb0d3
Deleting CosmosDB Emulator temp data
FabianMeiswinkel 6f5196a
Fixing scritp to delete temp folder
FabianMeiswinkel 29adeb8
Fixing PS script
FabianMeiswinkel 3aac6f0
Adding message with Emulator version to emulator install yaml file
FabianMeiswinkel 7ec9f6c
Adding Cosmos DB Emulator installation logs
FabianMeiswinkel 5e533c9
Adding logic to unistall emulator to Cosmos Emulator yml
FabianMeiswinkel 3d3280f
Update cosmos-emulator.yml
FabianMeiswinkel 9a69b86
Fixing missing admin elevation in the uninstall step in Cosmos Emulat…
FabianMeiswinkel 2c205b0
Iterating on cosmos-emulator.yml
FabianMeiswinkel 8f6e0b0
Iteratiing on cosmos-emulator.yml
FabianMeiswinkel 9e7f154
Iterating on cosmos-emulator.yml
FabianMeiswinkel 8891306
Iterating on cosmos-emulator.yml
FabianMeiswinkel 2577aa0
Iterating on comsos-emulator.yml
FabianMeiswinkel b4b3e72
Iterating on comsos-emulator.yml
FabianMeiswinkel 0f70676
Iterate on cosmos-emulator.yml
FabianMeiswinkel efd3c6c
Merge branch 'master' of https://github.com/Azure/azure-sdk-for-java …
FabianMeiswinkel f3bf00d
Adding FF changefeed unit tests
FabianMeiswinkel 27cd733
Fixing build warning
FabianMeiswinkel 026b0e9
Fixing test regression when ContainerTest hit emulator limit of numbe…
FabianMeiswinkel 024ab99
Fixing emulator config for CI tests
FabianMeiswinkel 90641a3
Fixing test issue - causing Begin/After Method/Class to also happen f…
FabianMeiswinkel 88b5ae5
Refactoring FeedRange visitors to populate request headers
FabianMeiswinkel 09eab8e
Implementing FeedRangeInternal.populateFeedRangeFilteringHeaders
FabianMeiswinkel aec75ba
Fixes for FeedRangeTest
FabianMeiswinkel c5e63cb
Refactoring FeedRangeINternal.getEffectiveRanges to getEffectiveRange
FabianMeiswinkel dbbd26d
Merge branch 'master' of https://github.com/Azure/azure-sdk-for-java …
FabianMeiswinkel e0aeae1
Fixing test issue in FeedRangeTest
FabianMeiswinkel edb7440
Reacting to self-Code review
FabianMeiswinkel 35a901f
Merge branch 'master' of https://github.com/Azure/azure-sdk-for-java …
FabianMeiswinkel 5e75d98
Actually adding public APIs for queryChangeFeed
FabianMeiswinkel 32ae487
Adding public API in CosmosContainer and SomsosAsyncContainer for CF …
FabianMeiswinkel c955cc6
Merge branch 'master' of https://github.com/Azure/azure-sdk-for-java …
FabianMeiswinkel ce2bae2
Reacting to CR comments
FabianMeiswinkel af1469e
SpotBug fixes
FabianMeiswinkel 8bb6f60
Fixing JavaDoc bug
FabianMeiswinkel 1f99a86
Reverting switch to @JsonDeserialize for custom deserializers
FabianMeiswinkel 32f22dd
Iterating on code review comments
FabianMeiswinkel eda9329
Adding more unit tests
FabianMeiswinkel d256919
Spotbug fix
FabianMeiswinkel e2348ce
Fix for test failures in FeedRangeTest
FabianMeiswinkel e386a2c
Fixing SpotBUg issue
FabianMeiswinkel 5c8eba5
Fixing test issues
FabianMeiswinkel 3819b37
Iterating on Cosmos Container ChangeFeed tests
FabianMeiswinkel 7e78972
Fixing test issue for small page size
FabianMeiswinkel 3d88840
Adding addiitonal unit tests for change feed pull model
FabianMeiswinkel ca796ce
Adding remaining tests for CF pull model
FabianMeiswinkel 6392f9a
Update FeedRange.java
FabianMeiswinkel 29c0719
Cleanup
FabianMeiswinkel 0804d16
Fixing typos in comments
FabianMeiswinkel c1d565e
Fixing Duration in ChangeFeedPolicy
FabianMeiswinkel 7148a3a
Changing the encoding of FeedRange and ChangeFeedState to be base64-e…
FabianMeiswinkel b8ed993
Cleanup
FabianMeiswinkel 268e467
Fixing spotbug issue
FabianMeiswinkel 7718b24
Fixing test issue
FabianMeiswinkel 4db657e
Switching deserializer registration to annotation based approach
FabianMeiswinkel 681d994
Reacting to code review feedback from Milis
FabianMeiswinkel 964c2da
Merge branch 'master' of https://github.com/Azure/azure-sdk-for-java …
FabianMeiswinkel ab94708
Fixing Test issues after changing ChangeFeedStateVersion from 0 to 1
FabianMeiswinkel e9401ab
Fix test issue
FabianMeiswinkel df78ea0
Renaming ShouldretryResult.RETRY_IMMEDIATELY to RETRY_NOW
FabianMeiswinkel fd76cb3
Adding Status code to JavaDoc description when processing FF CF outsi…
FabianMeiswinkel 1f9ef37
Fixing ChangeFeedProcessor issues Matias found
FabianMeiswinkel 3724f5f
Addressing code review comments from Mo
FabianMeiswinkel 7fc3b5e
Fixing SpotBUg issue
FabianMeiswinkel 9d55b4c
Merge branch 'master' of https://github.com/Azure/azure-sdk-for-java …
FabianMeiswinkel e9f114c
Adding additional assert in CFP split test
FabianMeiswinkel f2d6dc8
Merge branch 'master' of https://github.com/Azure/azure-sdk-for-java …
FabianMeiswinkel 37900c7
Addressing code review comments from Milis
FabianMeiswinkel f7ddca6
Merge branch 'master' of https://github.com/Azure/azure-sdk-for-java …
FabianMeiswinkel bf76ae4
Merge branch 'master' of https://github.com/Azure/azure-sdk-for-java …
FabianMeiswinkel 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
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 |
---|---|---|
|
@@ -147,11 +147,21 @@ public static <T> FeedResponse<T> createFeedResponse(List<T> results, | |
} | ||
|
||
@Warning(value = INTERNAL_USE_ONLY_WARNING) | ||
public static <T> FeedResponse<T> createFeedResponseWithQueryMetrics(List<T> results, | ||
Map<String, String> headers, | ||
ConcurrentMap<String, QueryMetrics> queryMetricsMap, | ||
QueryInfo.QueryPlanDiagnosticsContext diagnosticsContext) { | ||
return ModelBridgeInternal.createFeedResponseWithQueryMetrics(results, headers, queryMetricsMap, diagnosticsContext); | ||
public static <T> FeedResponse<T> createFeedResponseWithQueryMetrics( | ||
List<T> results, | ||
Map<String, String> headers, | ||
ConcurrentMap<String, QueryMetrics> queryMetricsMap, | ||
QueryInfo.QueryPlanDiagnosticsContext diagnosticsContext, | ||
boolean useEtagAsContinuation, | ||
boolean isNoChangesResponse) { | ||
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. majority of Query components, top, orderby, etc need to use I think it might be easier to fork this method into two new methods one for query and the other for changefeed. |
||
|
||
return ModelBridgeInternal.createFeedResponseWithQueryMetrics( | ||
results, | ||
headers, | ||
queryMetricsMap, | ||
diagnosticsContext, | ||
useEtagAsContinuation, | ||
isNoChangesResponse); | ||
} | ||
|
||
@Warning(value = INTERNAL_USE_ONLY_WARNING) | ||
|
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.
@FabianMeiswinkel Please can you make the changes in this file against the
azure-sdk-tools
repo. Follow instruction for common tooling https://github.com/Azure/azure-sdk-tools/blob/master/doc/common/common_engsys.md.Your current changes will be overwriten by this sync PR https://github.com/Azure/azure-sdk-for-java/pull/18879/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.
@chidozieononiwu I'm not sure I understand your request... Why will these files be overwritten by some other content sitting in a different repo? It sounds to me like a very opaque process and out of our own control.
Please do not override these settings unless your other PR preserves them as is.