-
Notifications
You must be signed in to change notification settings - Fork 540
[Client encryption] Adds streaming JSON processing support to feed iterators #5478
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
Open
MartinSarkany
wants to merge
103
commits into
Azure:main
Choose a base branch
from
MartinSarkany:feature/encryption-feed-iterator-rework
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 92 commits
Commits
Show all changes
103 commits
Select commit
Hold shift + click to select a range
c54618a
Add JsonProcessor override via RequestOptions property bag
adamnova 23749e0
Add diagnostics context and stream processor tests
adamnova 22e40d7
Refactor diagnostics scopes in decryption logic
adamnova d6b3416
Optimize stream serialization and diagnostics in encryption
adamnova 6e5884c
Refactor test encryptor setup and improve MDE fallback
adamnova 585e66c
Unify JSON processor diagnostics and add concurrency tests
adamnova 27d2593
Enforce object root for streaming encryption
adamnova 8b84c66
Enforce object root for streaming encryption
adamnova 78f0a94
Add comprehensive diagnostics scope tests for encryption
adamnova 0812ac5
Refactor MDE encryption processor with adapter pattern
adamnova 9850d4b
Refactor diagnostics scopes and add adapter tests
adamnova 752905f
[Encryption Stream] Fix provided-output decrypt tests: ensure raw enc…
adamnova c09f71f
Add tests for Newtonsoft override and change feed assertions
adamnova 9f8318b
Update diagnostics scope count assertions in tests
adamnova 459c21e
Fixed tests
adamnova 7b2170c
Update EncryptionBenchmark.cs
adamnova 5aa3de0
Cleanup
adamnova 4dcd1c8
Add experimental JSON processor configuration support
adamnova c4f6365
Update RequestOptionsOverrideHelper.cs
adamnova f11fbed
Cleanup conditional compilation
adamnova ec9b77e
Merge branch 'master' into feature/encryptionprocessor-stream-switch
adamnova 3e7ce8a
Revert
adamnova c35ffcf
Cleanup
adamnova db67e7c
Cleanup
adamnova 9496752
Changes
adamnova 7f191e9
Improved naming
adamnova 410f6ca
Refactor RequestOptions extension method usage
adamnova eb54301
Refactor decryption logic for streamlined processor selection
adamnova 4f6c466
Cleanup preview flag
adamnova 849f58e
Cleanup
adamnova 33dc1e9
Cleanup
adamnova 6ac8394
Cleanup
adamnova d5ea198
Reverted some changes and added documentation
adamnova c1cfb95
Refactor argument null checks to use ArgumentValidation
adamnova 98a5310
Standardization
adamnova 75d2684
Merge branch 'master' into feature/encryptionprocessor-stream-switch
adamnova 1dbba14
Refactor encryption processor to use adapter pattern
adamnova 565392c
Update conditional compilation for DecryptAsync methods
adamnova 2bbf6e0
Update baseline tests and API contracts for Cosmos SDK
adamnova d76440d
Update baseline test for trace writer activities
adamnova 3a4b05b
Delegate decryption to MdeEncryptionProcessor
adamnova aaba649
Revert "Delegate decryption to MdeEncryptionProcessor"
adamnova 1bb97dd
Add support for legacy decryption in EncryptionProcessor
adamnova a070536
Refactor legacy decryption path and update tests
adamnova 0d8ad47
Handle exceptions during legacy encryption detection
adamnova 43e7804
Update API contract files and baseline test data
adamnova 8e13f88
Merge branch 'master' into feature/encryptionprocessor-stream-switch
adamnova 754997c
Remove ENCRYPTION_CUSTOM_PREVIEW conditional compilation
adamnova 1c1f79c
Add NET8_0_OR_GREATER conditional compilation
adamnova e099ff0
Add experimental API and update trace baseline
adamnova 965f859
Use stream mode in encryption feed iterators
MartinSarkany e244861
Add test for unsupported JsonProcessor exception
adamnova a18b8f6
Merge branch 'master' into feature/encryptionprocessor-stream-switch
adamnova 132b6e2
Merge branch 'master' into feature/encryptionprocessor-stream-switch
adamnova 55b103b
Remove compression options from test encryption options
adamnova 03ec259
Merge branch 'master' into feature/encryption-feed-iterator-rework
MartinSarkany 1421b3e
Merge branch 'master' into feature/encryptionprocessor-stream-switch
kirankumarkolli 037c360
Merge branch 'master' into feature/encryption-feed-iterator-rework
MartinSarkany 63fa6bc
Add tests
MartinSarkany 576a29d
Allow null request options
MartinSarkany bc7e3ef
Rename StreamAdapter and related extensions for clarity
adamnova a486d40
Refactor null checks to use ArgumentValidation.ThrowIfNull
adamnova bea9d94
Merge remote-tracking branch 'adamnova/feature/encryptionprocessor-st…
MartinSarkany d68a1aa
Merge branch 'master' into feature/encryption-feed-iterator-rework
MartinSarkany de3fd65
Merge branch 'master' into feature/encryption-feed-iterator-rework
MartinSarkany 32f1ae8
Some updates and fixes
MartinSarkany 07d3251
Remove remarks with internal property
MartinSarkany c293521
Minor improvements
MartinSarkany a432219
Remove leftover file
MartinSarkany 4a86df4
Refactor JSON array splitting
MartinSarkany 7ae1eb3
Remove unused package reference
MartinSarkany 6eb8dc0
Add container extension method
MartinSarkany bc0b54b
Remove RecyclableMemoryStream
MartinSarkany 2fd635c
Remove unused ENCRYPTION_CUSTOM_PREVIEW
MartinSarkany 6e2b9c9
Merge branch 'master' into feature/encryption-feed-iterator-rework
MartinSarkany 8400ca8
Reintroduce RecyclableMemoryStream
MartinSarkany e7d15b2
Merge branch 'master' into feature/encryption-feed-iterator-rework
MartinSarkany 73be399
Make EncryptionProcessor.EncryptAsync() private
MartinSarkany ff3c26f
Merge branch 'master' into feature/encryption-feed-iterator-rework
MartinSarkany fa9a18a
Merge branch 'master' into feature/encryption-feed-iterator-rework
MartinSarkany be04a6d
PR review improvements
MartinSarkany 6ebb38a
Minor improvement
MartinSarkany d25a323
Merge branch 'master' into feature/encryption-feed-iterator-rework
MartinSarkany c2e1243
Merge branch 'master' into feature/encryption-feed-iterator-rework
kundadebdatta fbb0edb
Merge branch 'main' into feature/encryption-feed-iterator-rework
MartinSarkany 0779f51
Replace RecyclableMemoryStream with ArrayPool-backed streams
MartinSarkany b669b32
Minor improvements
MartinSarkany a1f2640
Remove unused code
MartinSarkany 29b6923
Revert unnecessary changes
MartinSarkany 56bdc45
Merge branch 'main' into feature/encryption-feed-iterator-rework
MartinSarkany 64303e5
Minor improvements
MartinSarkany 1528c33
Merge branch 'main' into feature/encryption-feed-iterator-rework
kundadebdatta 338871d
[Internal] DTS: Adds retries in DTS when isRetriable is true and on t…
Meghana-Palaparthi 333a746
Simplify GetJsonProcessor() calls in EncryptionContainer
MartinSarkany 151d94b
Merge branch 'main' into feature/encryption-feed-iterator-rework
MartinSarkany 618d601
Revert accidental changes
MartinSarkany f8f5db5
Merge branch 'main' into feature/encryption-feed-iterator-rework
adamnova d306148
Code review improvements
MartinSarkany e09e0bd
Merge branch 'main' into feature/encryption-feed-iterator-rework
kundadebdatta 6e0d6d5
[Client encryption] Fixes orphan PooledMemoryStream leak when feed sp…
adamnova 38e6e38
[Client encryption] Fixes DEK-id regression, best-effort dispose casc…
adamnova 1bd80cd
[Internal] Client Encryption: Adds intent comment on duplicate-Docume…
adamnova 5cecb2b
[Internal] Client Encryption: Adds MDE stream-decrypt path coverage test
adamnova 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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.
nit: the last
?? this.DefaultJsonProcessorshould not be needed, the extension method already returns the fallback processor if no override is found in the request optionsThere 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.
fixed