Skip to content

Stg104/photon#49365

Draft
browndav-msft wants to merge 23 commits into
Azure:feature/storage/stg104basefrom
browndav-msft:stg104/photon
Draft

Stg104/photon#49365
browndav-msft wants to merge 23 commits into
Azure:feature/storage/stg104basefrom
browndav-msft:stg104/photon

Conversation

@browndav-msft
Copy link
Copy Markdown
Member

Cherry pick changes from photon branch for private drop

@github-actions github-actions Bot added Azure.Core azure-core Storage Storage Service (Queues, Blobs, Files) labels Jun 3, 2026
browndav-msft and others added 23 commits June 3, 2026 13:58
Apache Arrow uses off-heap memory via DirectByteBuffer and needs reflective access to internal NIO classes (like sun.misc.Unsafe or
  DirectByteBuffer.cleaner()) for memory management. Without this flag, you'll get InaccessibleObjectException at runtime.
- Add ArrowBlobListDeserializer that parses Arrow IPC streams into
  BlobItemInternal objects with safe null-checking helpers
- Add diagnostic test to verify Arrow schema from live service
- Add deserializer test to validate end-to-end parsing of Arrow response
- Add Arrow module requires to module-info.java
- Add checker-qual dependency for Arrow annotation compatibility
- Add --add-opens java.base/java.nio=ALL-UNNAMED for Arrow memory
- Needed to update the README based on the following: adding custom endpoints (the Arrow variants) that deviate from the standard pattern — the swagger defines them as pageable (likely copied from the original list blobs operations), but the response format doesn't match what autorest expects for pageable ops. So the directive is needed to patch the swaggeat codegen time.
- This is a common pattern in the Azure SDK — the README.md swagger config files are full of directive blocks that fixup mismatches between what the swagger says and what the generated code actually needs. It's the standard escape hatch when the swagger doesn't perfectly represent the desired codegen behavior.
…ords, and async client

Add 6 missing schema field mappings to ArrowBlobListDeserializer (Content-CRC64,
Encrypted, OrsPolicySourceBlob, AffinityId, SmartAccessTier, Tags) with supporting
model fields and public delegates. Expose NumberOfRecords from Arrow schema metadata.
Wire Arrow path into BlobContainerAsyncClient for both flat and hierarchy listings
with XML content-type fallback. Add listBlobsArrowWithTags integration test.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Azure.Core azure-core Storage Storage Service (Queues, Blobs, Files)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants