Storage - Content Validation Encoder Stress Tests#3
Storage - Content Validation Encoder Stress Tests#3ibrandes wants to merge 5 commits intocontent-validation/pipelineImplfrom
Conversation
There was a problem hiding this comment.
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 withsetRequestChecksumAlgorithm. - Adds
ContentValidationStressOptionsto configure request checksum behavior from the command line. - Registers the new scenarios in
App.javaand expandsscenarios-matrix.yamlto 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.
...s/src/main/java/com/azure/storage/blob/stress/ContentValidationSeekableByteChannelWrite.java
Outdated
Show resolved
Hide resolved
...storage-blob-stress/src/main/java/com/azure/storage/blob/stress/ContentValidationUpload.java
Outdated
Show resolved
Hide resolved
...blob-stress/src/main/java/com/azure/storage/blob/stress/ContentValidationUploadFromFile.java
Show resolved
Hide resolved
...blob-stress/src/main/java/com/azure/storage/blob/stress/ContentValidationUploadFromFile.java
Show resolved
Hide resolved
...tress/src/main/java/com/azure/storage/blob/stress/ContentValidationPageBlobOutputStream.java
Outdated
Show resolved
Hide resolved
...ge-blob-stress/src/main/java/com/azure/storage/blob/stress/ContentValidationAppendBlock.java
Show resolved
Hide resolved
...ress/src/main/java/com/azure/storage/blob/stress/ContentValidationBlockBlobOutputStream.java
Show resolved
Hide resolved
...tress/src/main/java/com/azure/storage/blob/stress/ContentValidationPageBlobOutputStream.java
Show resolved
Hide resolved
...s/src/main/java/com/azure/storage/blob/stress/ContentValidationSeekableByteChannelWrite.java
Show resolved
Hide resolved
| testScenario: contentvalidationuploadfromfile | ||
| sync: true | ||
| sizeBytes: "52428800" | ||
| uploadFaults: true |
There was a problem hiding this comment.
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.
…ibrandes/azure-sdk-for-java into content-validation/encoderStressTests
…ibrandes/azure-sdk-for-java into content-validation/encoderStressTests
No description provided.