You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Azure Pipelines:
Successfully started running 1 pipeline(s).
34 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.
Isabelle (@ibrandes) tests that are failing in CI right now aren't for the arrow enablement. Those have to do with issues with the service not supporting the features. So I don't know why this is happening. But this should be good now
Azure Pipelines:
Successfully started running 1 pipeline(s).
34 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.
browndav-msft could you look into these recording failures? these don't seem similar to the key based auth error / smart access tier error that we've normally been getting in CI:
CPKNAsyncTests.containerListBlobsFlat expectation "assertNext" failed (expected: onNext(); actual: onError(com.azure.storage.blob.models.BlobStorageException: Status code 409, "<?xml version="1.0" encoding="utf-8"?><Error><Code>EncryptionScopeNotAvailable</Code><Message>The given encryption scope is not available. (link)
CPKNAsyncTests.containerListBlobsHierarchical expectation "assertNext" failed (expected: onNext(); actual: onError(com.azure.storage.blob.models.BlobStorageException: Status code 409, "<?xml version="1.0" encoding="utf-8"?><Error><Code>EncryptionScopeNotAvailable</Code><Message>The given encryption scope is not available. (link)
ServiceAsyncApiTests.restoreContainerIntoOtherContainer expectation "assertNext" failed (expected: onNext(); actual: onError(java.lang.NullPointerException: The argument must not be null or an empty string. Argument name: deletedContainerVersion.)) (link)
VersioningAsyncTests.listBlobsWithVersion » Runtime Test proxy exception: Unable to find a record for the request PUT https://redacted/cb1326cc2listblobswithversiondbc697453214e98957084?restype=container (link)
^there were a couple of other tests in VersioningAsyncTests and VersioningTests that had the same error too
Remove explicit XML overrides added during recording restoration. Preserve the restored assets, container deletion fix, and hierarchy request parameters. Existing XML recordings are intentionally not updated; this isolated experiment is intended for live CI and can be reverted afterward.
Making Arrow the default exposes a timeout regression for synchronous listBlobs and listBlobsByHierarchy calls with unset or AUTO formats. Both Arrow branches in BlobContainerClient obtain an InputStream inside the timed StorageImplUtils.sendRequest call, but consume it afterward (lines 1057–1081 and 1252–1274). With OkHttp, that stream reads directly from the response body, so prompt headers followed by a slow body can exceed the caller's timeout—even when the service returns XML. The previous XML path deserialized the body inside the timed operation. Move body consumption, parsing, and stream closure into the timed per-page operation in both branches, and add delayed-body timeout tests for flat and hierarchical listings, including XML fallback.
Recover the 16 FileApiTests and FileAsyncApiTests listAllRanges recordings from the original feature-branch assets tag 0f234e8e09. Publish them alongside existing File Share fixtures as tag 74b3ffac97 without changing test code or existing recordings.
The SMART-tier, SMART-rehydration, and premium page-blob tier listing tests now explicitly select XML, so they no longer exercise the default used by existing callers. The new request tests return HTTP 500 and cannot verify returned properties. Please retain the XML cases and add successful unset/AUTO cases in the sync and async tests, asserting the expected access tier, smart access tier, and archive status. Otherwise, regressions in these properties on the new default path can go undetected.
Test endBefore preservation with overridden page size
The existing endBefore tests only check rejection with explicit XML, and the new header tests leave it unset. A regression that drops this bound during a page-size override would therefore pass those tests. Please add request-level cases for unset/AUTO formats across sync/async flat and hierarchical listings. Assert that the request preserves endBefore, uses the overridden page size, and leaves the caller's options unchanged.
🧠 Review effort: Balanced
Give feedback about Copilot approvals in this survey to enter a drawing for a $150 gift card.
The new request tests populate only the serialization format and assert Accept. They would still pass if this copier dropped prefix, startFrom, endBefore, or listing details when pagination overrides the page size. Add sync/async flat and hierarchical request cases with populated filters and an options page size different from the override. Assert the outgoing query parameters and that the caller's options remain unchanged, including a positive endBefore case rather than only XML-validation failures.
Test SMART-tier properties on default and Arrow response paths
Both SMART-tier listing suites now force XML, so their assertions no longer verify getSmartAccessTier() or REHYDRATE_PENDING_TO_SMART through the new default response path. The new header tests return 500 before deserialization, and the Arrow decoder tests do not assert these properties. Keep the XML cases and add successful default/Arrow response cases for both sync and async clients that assert these properties, so enabling Arrow by default does not leave this behavior untested.
🧠 Review effort: Balanced
Give feedback about Copilot approvals in this survey to enter a drawing for a $150 gift card.
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
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.
Summary
AUTOformats as Arrow while preserving explicitXML.ListBlobsOptionscopying and default application across sync/async flat and hierarchical listings.Acceptheader for all listing paths (null, unset,ARROW,AUTO, andXML`)Why
Blob listing should use Apache Arrow by default.
Testing
ARROW,AUTO, andXML` across sync/async flat and hierarchical listings.