Skip to content

Storage - Content Validation Encoder Stress Tests#3

Open
ibrandes wants to merge 5 commits intocontent-validation/pipelineImplfrom
content-validation/encoderStressTests
Open

Storage - Content Validation Encoder Stress Tests#3
ibrandes wants to merge 5 commits intocontent-validation/pipelineImplfrom
content-validation/encoderStressTests

Conversation

@ibrandes
Copy link
Copy Markdown
Owner

No description provided.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds new Azure Storage Blob stress scenarios focused on transactional request content validation (CRC64/structured message) across multiple upload APIs, and wires them into the stress runner and scenario matrix.

Changes:

  • Introduces ContentValidation* stress scenarios covering block/append/page blob uploads and related APIs with setRequestChecksumAlgorithm.
  • Adds ContentValidationStressOptions to configure request checksum behavior from the command line.
  • Registers the new scenarios in App.java and expands scenarios-matrix.yaml to run them.

Reviewed changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
sdk/storage/azure-storage-stress/src/main/java/com/azure/storage/stress/TelemetryHelper.java Adjusts JVM GC metrics observer registration to include an additional flag.
sdk/storage/azure-storage-blob-stress/src/main/java/com/azure/storage/blob/stress/ContentValidationUploadPages.java New page-blob upload-pages scenario using request checksum algorithm.
sdk/storage/azure-storage-blob-stress/src/main/java/com/azure/storage/blob/stress/ContentValidationUploadFromFile.java New upload-from-file scenario with request checksum algorithm + MD5 guard.
sdk/storage/azure-storage-blob-stress/src/main/java/com/azure/storage/blob/stress/ContentValidationUpload.java New parallel upload scenario enabling request checksum algorithm.
sdk/storage/azure-storage-blob-stress/src/main/java/com/azure/storage/blob/stress/ContentValidationStressOptions.java Adds CLI option --requestChecksumAlgorithm for content-validation scenarios.
sdk/storage/azure-storage-blob-stress/src/main/java/com/azure/storage/blob/stress/ContentValidationStageBlock.java New stage-block + commit scenario enabling request checksum algorithm.
sdk/storage/azure-storage-blob-stress/src/main/java/com/azure/storage/blob/stress/ContentValidationSeekableByteChannelWrite.java New seekable-byte-channel write scenario enabling request checksum algorithm.
sdk/storage/azure-storage-blob-stress/src/main/java/com/azure/storage/blob/stress/ContentValidationPageBlobOutputStream.java New page-blob output-stream scenario enabling request checksum algorithm.
sdk/storage/azure-storage-blob-stress/src/main/java/com/azure/storage/blob/stress/ContentValidationBlockBlobUpload.java New single-shot block-blob upload scenario enabling request checksum algorithm.
sdk/storage/azure-storage-blob-stress/src/main/java/com/azure/storage/blob/stress/ContentValidationBlockBlobOutputStream.java New block-blob output-stream scenario enabling request checksum algorithm.
sdk/storage/azure-storage-blob-stress/src/main/java/com/azure/storage/blob/stress/ContentValidationAppendBlock.java New append-block scenario enabling request checksum algorithm.
sdk/storage/azure-storage-blob-stress/src/main/java/com/azure/storage/blob/stress/ContentValidationAppendBlobOutputStream.java New append-blob output-stream scenario enabling request checksum algorithm.
sdk/storage/azure-storage-blob-stress/src/main/java/com/azure/storage/blob/stress/App.java Registers new ContentValidation* scenarios with the stress program.
sdk/storage/azure-storage-blob-stress/scenarios-matrix.yaml Adds a matrix of content-validation scenario entries (sync/async and sizes).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

testScenario: contentvalidationuploadfromfile
sync: true
sizeBytes: "52428800"
uploadFaults: true
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we need to disable uploadFaults for large files. We are testing the upload faults for small files, but there is a 120 second timeout for the fault injector, which is causing the large files to fail I think.

I believe we can safely disable this because we are testing faults for small files.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants