Commit 957ea65
authored
Feature/storage/transactional crc (Azure#23056)
* Transactional hashing models
* StageBlock now has transactional hashing support
* ContentHasher supports precalculated hash
GetHash will now read all options and pull a possible precalculated hash
into its response instead of calculating the result from scratch
* New overloads
appendblobclient and blockblobclient now have options bag overloads for
their baseline upload methods.
* Append and page blob updates
Those clients now have new APIs for base uploads, deprecated old
overloads, and updated writestreams to use the new internal signature.
* Alligned XxxOpenWriteOptions for hashing options
* Blob Write Streams Updated
* uploadTransactionalHashing in datalake and shares
* fixed mock issues
Fixed how some mocks were constructed due to new signatures for some
internal methods
* blob download range transactional hashing
* crc46 implementation and download tests
* several read methods updated to transactional hash
* testing
* datalake/share download
* build fix
* renames | Blob/datalake downloadTo hashing
* tests and fixes
* Range required for download hashing
testing, recording.
* more tests. property renames for consistency.
* Azure.Storage.Models => Azure.Storage
Moved transactional hashing options classes down a namespace
* fixes and rerecording transactional hashing tests
* recording fix
* recording
* test fixes
* all hashing tests scan messages for headers
* minor fixes and test organization
* test fine-tuning and rerecording
* open write tests refactored for reusability
* test refactors
* More test refactoring
* refactored parallel upload tests
* finished blob test refactoring
* exportapi
* fix export
* fixed a scope issue
* fixed datalake.append scope and common mock
* fixed mock setup
* More mocking issues
* irerecord
* full rerecording transactional hash tests
* revert force record mode
* testing CI failure
removing an inserted policy from hashing partitioned download tests to
determine if it is interfering in recording interpretation.
* Revert "testing CI failure"
This reverts commit 4bbb8d3.
* made encryption/hashing test liveonly
* datalake transactional hashing tests
* port hashing tests to file shares
* transactional hash arg validation
* parallel upload doesn't accept precalculated hash
* rerecord transactional hashing tests
* restored accidental recording delete
* rerecorded OpenRead tests
* rerecord misc file share tests
* New storagecrc64 API shape
storage crc calculator prepared to inherit NonCryptographicHashAlgorithm
when released.
Static crc calculator converted to use ReadOnlySpan<byte> instead of
byte[].
Static crc calculator converted to use BinaryPrimitives instead of
BitConverter. NOTE this forces the calculation into a specific
endianness which is acceptable based on CRC properties.
* exportapi
* misc pr feedback
* Fixed a docstring
* fixed diagnostic scope issue
* Documented TransactionalHashingTestSkeletons.cs
* test comments
* Some PR responses
Some options classes renamed
GetHashResult memory optimizations.
Disabled clientside crypto/hashing in combination
* new downloadto options have consistent API shape
* datalake hashing tests now use hns tenant
* More PR comments
* export api
* new options bag APIs memory optimization
* fixed failed tests
* Initial hashing test conversion
Converted TransactionalHashingTestSkeletons (collection of static helper
methods) to TransactionalHashingTestBase : StorageTestBase. Tests are
fully defined on this class. Subclasses per-client will implement
abstract methods as instructions for uploads/downloads/etc., where
before they were lambdas passed to the static helper methods every
single time.
* moved transactional hashing tests under new inheritance tree
* deleted old hashing test session records
* fixed playback bug and rerecorded to accomodate
* Recorded inconclusive hashing tests
* more recording inconclusive tests
* quick fix
* nitpicks/cleanup
* ported v11 crc test
* file header
* reverted some auto IDE csproj changes
* corrected a formating reversion
* pr feedback
* arg validation
* pr feedback
* Changelog
Co-authored-by: jschrepp-MSFT <41338290+jschrepp-MSFT@users.noreply.github.com>1 parent 5db70e9 commit 957ea65
File tree
695 files changed
+100648
-31747
lines changed- sdk/storage
- Azure.Storage.Blobs
- api
- src
- Models
- tests
- SessionRecords
- AppendBlobClientTransactionalHashingTests
- BlobBaseClientTests
- BlobClientTransactionalHashingTests
- BlockBlobClientTransactionalHashingTests
- ClientSideEncryptionTests
- PageBlobClientTransactionalHashingTests
- Azure.Storage.Common
- api
- src
- tests
- Azure.Storage.Files.DataLake
- api
- src
- Models
- tests
- SessionRecords
- DataLakeFileClientTransactionalHashingTests
- FileClientTests
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
695 files changed
+100648
-31747
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| 8 | + | |
8 | 9 | | |
9 | 10 | | |
10 | 11 | | |
| |||
Lines changed: 66 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 175 additions & 66 deletions
Large diffs are not rendered by default.
Lines changed: 10 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
23 | | - | |
| 23 | + | |
| 24 | + | |
24 | 25 | | |
25 | 26 | | |
26 | | - | |
| 27 | + | |
| 28 | + | |
27 | 29 | | |
28 | 30 | | |
29 | 31 | | |
| |||
40 | 42 | | |
41 | 43 | | |
42 | 44 | | |
43 | | - | |
44 | | - | |
45 | | - | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
46 | 51 | | |
47 | 52 | | |
48 | 53 | | |
| |||
Lines changed: 5 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
| 51 | + | |
51 | 52 | | |
52 | 53 | | |
53 | 54 | | |
| 55 | + | |
54 | 56 | | |
| 57 | + | |
55 | 58 | | |
| 59 | + | |
56 | 60 | | |
57 | 61 | | |
58 | 62 | | |
| |||
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1624 | 1624 | | |
1625 | 1625 | | |
1626 | 1626 | | |
| 1627 | + | |
| 1628 | + | |
| 1629 | + | |
| 1630 | + | |
| 1631 | + | |
1627 | 1632 | | |
1628 | 1633 | | |
1629 | 1634 | | |
1630 | 1635 | | |
1631 | 1636 | | |
1632 | 1637 | | |
1633 | 1638 | | |
| 1639 | + | |
1634 | 1640 | | |
1635 | 1641 | | |
1636 | 1642 | | |
| |||
1724 | 1730 | | |
1725 | 1731 | | |
1726 | 1732 | | |
| 1733 | + | |
1727 | 1734 | | |
1728 | 1735 | | |
1729 | | - | |
| 1736 | + | |
1730 | 1737 | | |
1731 | 1738 | | |
0 commit comments