Skip to content
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

CRC reporting: pt 1 #45307

Conversation

jaschrep-msft
Copy link
Member

Far too much array pool management for moving CRCs between several objects, bounds checking, etc.. Converted CRC management in structured message to use ulongs. This results in much cleaner data tracking as the structured message is consumed, though transient pool borrowing is still required in places.

Retriable crc stream calculates contents as they are read by the caller, validating against a crc after the last bytes are read.

TODO:

  • report the final crc in the result object
  • perhaps disable some extra crc calculations in the base structured message decoding stream, since the retriable one is doing an overall calculation

@github-actions github-actions bot added the Storage Storage Service (Queues, Blobs, Files) label Aug 1, 2024
@azure-sdk
Copy link
Collaborator

azure-sdk commented Aug 1, 2024

API change check

APIView has identified API level changes in this PR and created following API reviews.

Azure.Storage.Blobs
Azure.Storage.Common
Azure.Storage.Files.Shares

@jaschrep-msft jaschrep-msft merged commit d4cd806 into Azure:feature/storage/ContentValidation Aug 7, 2024
17 of 21 checks passed
jaschrep-msft added a commit to jaschrep-msft/azure-sdk-for-net that referenced this pull request Aug 13, 2024
jaschrep-msft added a commit that referenced this pull request Aug 20, 2024
* Structured Message Decode Stream (#42079)

* Initial implementation and basic test

* seek/write tests

* fix test param

* fix exceptions

* Content validation update spec (#42191)

* enum rename and footer read/write methods

* align encode/decode tests | update encoding stream

* decode stream footer

* rename

* decode tests & bugfixes (#42256)

* decode tests & bugfixes

* roundtrip tests

* more tests

* better errors | remove duplicate test

* test coverage | exception message (#42363)

* Structured Message Decode: Validate Content Length (#42370)

* validate stream length

* tests

* stageblock | appendblock | putpages StructuredMessage (#42699)

* regenerate and stage block uses structured message

* page and append

* testproxy

* cleanup

* fix datalake/share tests

* testproxy

* testproxy

* re-add null-safe access

* GET Blob Structured Message (#42959)

* download range structured message

* testproxy

* throw when service fails to give back structured message

* test

* testproxy

* PUT Blob Structured Message (#43130)

* putblob structured message

* testproxy

* fixes

* Structured Message: DataLake Append (#43275)

* datalake append

* null fix

* fixes

* Retriable decode (#44155)

* retriable decode

* rewind mock test

* bugfix

* bugfix

* tests

* Download retriable stream structured message (#44176)

* blobs retriable structured message download

* test proxy

* testproxy

* remove commented code

* CRC: Always Structured Message (#44955)

* blockblob working

* revert testing change

* page/append

* datalake file

* testfix

* bug fixes | test fixes

* disable new API for presenting CRC from structured message

* fix nunit

* whitespace

* fix/test-proxy

* csproj

* more csproj removeals

This is building fine locally idk what's up

* Trigger Fresh Build

* fileshare testproxy

* fix mock

* Update macos image from 11 to latest (#44607)

* Update macos image from 11 to latest

* Update eng/pipelines/templates/jobs/ci.mgmt.yml

Co-authored-by: Ben Broderick Phillips <ben@benbp.net>

---------

Co-authored-by: Ben Broderick Phillips <ben@benbp.net>

* Revert "Update macos image from 11 to latest (#44607)"

this is causing too many problems. skipping macos tests for now. They'll
run when this feature branch merges into main.

This reverts commit 29e87b4.

---------

Co-authored-by: Wes Haggard <weshaggard@users.noreply.github.com>
Co-authored-by: Ben Broderick Phillips <ben@benbp.net>

* Enable fileshare crc (#45124)

* impl

* testproxy

* shares fix

* testproxy

* block blob fix (#45129)

* block blob fix

* testproxy

* rename and validation (#45160)

* rename and validation

* fix

* crc tracking converted to longs (#45307)

* Crc reporting pt2 (#45447)

* expose crc from structured message

* testproxy

* undo typo

* exportapi

* testproxy

* remove unused parameter

* add `ExpectTrailingDetails` to download response

* fix test inconsistency

* fix auto

---------

Co-authored-by: Wes Haggard <weshaggard@users.noreply.github.com>
Co-authored-by: Ben Broderick Phillips <ben@benbp.net>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Storage Storage Service (Queues, Blobs, Files)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants