Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
70 commits
Select commit Hold shift + click to select a range
538cf80
generate new api based on swagger docs
browndav-msft Mar 23, 2026
ab93774
generate code to maintain current xml without arrow
browndav-msft Mar 23, 2026
f30233a
add apache arrow dep 19.0.0
browndav-msft Mar 24, 2026
18b7093
fix pom dependencies
browndav-msft Mar 24, 2026
3e664de
change pom to bom 18.1.0
browndav-msft Mar 24, 2026
12c6019
test direct call to arrow endpoint
browndav-msft Mar 26, 2026
b41a60c
hard code "preprod." into blob endpoint
browndav-msft Mar 26, 2026
6d5749f
fix preprod endpoint
browndav-msft Mar 26, 2026
3da9e23
add java.nio=ALL-UNNAMED to blob pom
browndav-msft Mar 26, 2026
d11b56f
addressing illegal dependencies
ibrandes Mar 26, 2026
cdbb843
add ArrowBlobListDeserializer and diagnostic tests for Arrow ListBlobs
browndav-msft Mar 26, 2026
d47fad1
wire Arrow path in BlobContainerClient.listBlobs with XML fallback
browndav-msft Mar 26, 2026
fa0cc50
add Arrow listBlobs integration tests with recordings
browndav-msft Mar 26, 2026
e3a26b8
update based on new swagger file
browndav-msft Mar 27, 2026
12e5ec2
change method signatures based on updates from swagger
browndav-msft Mar 27, 2026
d5dec10
add Arrow hierarchy schema discovery test
browndav-msft Mar 27, 2026
d98fc36
wire Arrow path in listBlobsByHierarchy with integration tests
browndav-msft Mar 28, 2026
24eb7f1
complete Arrow ListBlobs gap remediation: missing fields, NumberOfRec…
browndav-msft Mar 28, 2026
343492a
add javadocs to new methods in listblobsoptions
browndav-msft Mar 28, 2026
10fad8b
changed liveonly tests to recorded tests, minus cpk
browndav-msft Mar 30, 2026
d283f7f
remove local blob file and redirect to Nick's repo
browndav-msft Mar 30, 2026
da9d407
rename useArrow to isApacheArrowEnabled
browndav-msft Mar 30, 2026
2701e63
update dependency files
browndav-msft Apr 24, 2026
e4c6e58
add service minimums for tests
browndav-msft Jun 4, 2026
c30efa7
remove tests for schema discovery
browndav-msft Jun 4, 2026
754aa51
remove todo for nonphoton account
browndav-msft Jun 4, 2026
b3afa47
add rehydrate tests with recordings
browndav-msft Jun 4, 2026
e3c89d9
update listblowsarrow pagination test to include calling specific pag…
browndav-msft Jun 4, 2026
f800f8b
add async Arrow listBlobs tests for Photon
browndav-msft Jun 10, 2026
509ebc7
fix async tests
browndav-msft Jun 15, 2026
e78fad3
fix listBLobsArrowDeserializer async test
browndav-msft Jun 15, 2026
9673f85
add recordinds for async tests
browndav-msft Jun 15, 2026
6b6dfe7
replace all references for boolean with StorageResponseSerializationF…
browndav-msft Jun 15, 2026
46d2082
fix linting issues
browndav-msft Jun 16, 2026
b139c0d
remove bom, add versions to pom
browndav-msft Jun 16, 2026
c33aeae
change hardcoded serviceVersion in listBlobsArrowDeserializer
browndav-msft Jun 16, 2026
55f10ce
swagger - add Accept header for Arrow,Xml
browndav-msft Jun 17, 2026
52b3816
Replace Apache Arrow vector reader with custom ListBlobs Arrow stream…
browndav-msft Jun 17, 2026
aff29c1
Revert "Storage - STG104 Add Blob Access Tier to Get Blob Response (#…
browndav-msft Jun 18, 2026
4fbcbb6
Merge branch 'feature/storage/stg104base' into stg104/photon
browndav-msft Jun 18, 2026
5658599
wip - clean up var names
browndav-msft Jun 19, 2026
52525ef
remove getContentCrc64, getOrsPolicySourceBlob, getAffinityId
browndav-msft Jun 22, 2026
6461282
add external dependencies to external_dependencies.txt, add google bu…
browndav-msft Jun 22, 2026
a4c6e68
remove arrow-format for java 8 failures, vendor, create parity tests
browndav-msft Jun 22, 2026
3e983b5
add dependency exclusion for tests that require arrow deps that cause…
browndav-msft Jun 22, 2026
d5077f8
update dependency exclusion so that it works
browndav-msft Jun 22, 2026
d06b731
bump arrow deps to 19.0 for tests
browndav-msft Jun 23, 2026
b506f90
remove arrow deps from banndedDeps includes block
browndav-msft Jun 23, 2026
2a8853d
update comments in blob pom.xml to explicitly state workaround for ba…
browndav-msft Jun 23, 2026
a551d20
Merge remote-tracking branch 'azure/feature/storage/stg104base' into …
browndav-msft Jun 23, 2026
753397d
Merge branch 'feature/storage/stg104base' into stg104/photon
browndav-msft Jun 29, 2026
50e3eeb
remove unnecessary arrow parity tests, add remaining parity tests to …
browndav-msft Jun 25, 2026
2ec403b
lint files in arrow package
browndav-msft Jun 25, 2026
ac2eb80
add arrow golden decode tests and rejection tests, add test for all k…
browndav-msft Jun 26, 2026
de6a97f
change arrow classes to be more human readable
browndav-msft Jun 26, 2026
8d4bd47
change DecodedArrowStream to record
browndav-msft Jun 26, 2026
9799a9b
Merge branch 'feature/storage/stg104base' into stg104/photon
browndav-msft Jul 1, 2026
bc247e9
Revert "change DecodedArrowStream to record"
browndav-msft Jul 1, 2026
d1d9062
add changes based on feedback
browndav-msft Jul 1, 2026
d2623fe
update recording
browndav-msft Jul 2, 2026
f2bf13e
rename arrow to apachearrow
browndav-msft Jul 2, 2026
022e05e
add apache licensing
browndav-msft Jul 2, 2026
fc15bc8
add apache share profile to pom
browndav-msft Jul 6, 2026
3554b48
Merge branch 'feature/storage/stg104base' into stg104/photon
browndav-msft Jul 6, 2026
0268178
add versions to pom shade profiling, add "Accept" header to match onl…
browndav-msft Jul 6, 2026
169a280
add arrow 19 dep to external_dependencies.txt file
browndav-msft Jul 6, 2026
c5e13c8
fix linting issues
browndav-msft Jul 6, 2026
f75a768
fix more linting errors with spotless
browndav-msft Jul 6, 2026
913fff3
remove unused imports
browndav-msft Jul 6, 2026
2063b04
revert add "Accept" to blobbasetest, add recordings
browndav-msft Jul 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 18 additions & 1 deletion NOTICE.txt
Original file line number Diff line number Diff line change
Expand Up @@ -500,6 +500,23 @@ See the License for the specific language governing permissions and limitations

-------------------------------------------------------------------------------------------------

License notice for Apache Arrow
-------------------------------------------------------------------------------

apache-arrow-java (https://github.com/apache/arrow-java)
Copyright 2015-2024 The Apache Software Foundation

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License
is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and limitations under the License.

-------------------------------------------------------------------------------------------------

License notice for GraalVM
------------------------------------------------------------------------------
org.graalvm.sdk:graal-sdk - https://github.com/graalvm/native-build-tools/blob/master/common/junit-platform-native/LICENSE
Expand Down Expand Up @@ -609,4 +626,4 @@ compliance with the License. You may obtain a copy of the License at:

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
language governing permissions and limitations under the License.
language governing permissions and limitations under the License.
2 changes: 2 additions & 0 deletions eng/versioning/external_dependencies.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ com.github.spotbugs:spotbugs;4.8.3
com.github.spotbugs:spotbugs-annotations;4.8.3
com.github.spotbugs:spotbugs-maven-plugin;4.8.3.1
com.google.code.gson:gson;2.14.0
com.google.flatbuffers:flatbuffers-java;24.3.25
com.google.guava:guava;33.6.0-jre
com.h2database:h2;2.2.220
com.h3xstream.findsecbugs:findsecbugs-plugin;1.9.0
Expand Down Expand Up @@ -63,6 +64,7 @@ io.vertx:vertx-codegen;4.5.27
io.vertx:vertx-core;4.5.27
javax.websocket:javax.websocket-api;1.1
org.apache.ant:ant;1.10.15
org.apache.arrow:arrow-format;19.0.0
org.apache.avro:avro;1.11.4
org.apache.avro:avro-maven-plugin;1.11.4
org.apache.commons:commons-lang3;3.18.0
Expand Down
4 changes: 4 additions & 0 deletions sdk/parents/azure-client-sdk-parent/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -602,6 +602,10 @@

<!-- Used by many libraries to bring in annotations used by Reactor -->
<include>com.google.code.findbugs:jsr305:[3.0.2]</include> <!-- {x-include-update;com.google.code.findbugs:jsr305;external_dependency} -->

<!-- Apache Arrow format parsing. flatbuffers-java is the sole (compile-scoped) dependency used by
azure-storage-blob's vendored Arrow FlatBuffer accessors -->
<include>com.google.flatbuffers:flatbuffers-java:[24.3.25]</include> <!-- {x-include-update;com.google.flatbuffers:flatbuffers-java;external_dependency} -->
</includes>
</bannedDependencies>

Expand Down
2 changes: 1 addition & 1 deletion sdk/storage/azure-storage-blob/assets.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
"AssetsRepo": "Azure/azure-sdk-assets",
"AssetsRepoPrefixPath": "java",
"TagPrefix": "java/storage/azure-storage-blob",
"Tag": "java/storage/azure-storage-blob_494b72fca7"
"Tag": "java/storage/azure-storage-blob_13b4ad4e16"
}
97 changes: 97 additions & 0 deletions sdk/storage/azure-storage-blob/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,10 @@
</javaModulesSurefireArgLine>
<parallelizeLiveTests>concurrent</parallelizeLiveTests>

<!-- Exclude vendored Apache Arrow code from linting checks -->
<checkstyle.excludes>**/implementation/util/apachearrow/**/*.java</checkstyle.excludes>
<spotbugs.excludes>**/implementation/util/apachearrow/**/*.java</spotbugs.excludes>

<spotbugs.skip>false</spotbugs.skip>
</properties>

Expand Down Expand Up @@ -138,6 +142,20 @@
<version>1.17.7</version> <!-- {x-version-update;testdep_net.bytebuddy:byte-buddy-agent;external_dependency} -->
<scope>test</scope>
</dependency>

<!-- Arrow dependency -->
<!-- The internal ListBlobs Arrow reader decodes the IPC stream using vendored FlatBuffer metadata accessors
(com.azure.storage.blob.implementation.util.apachearrow) backed by flatbuffers-java, so flatbuffers-java is the
sole dependency needed to parse the Arrow format. The arrow-format artifact is deliberately NOT a dependency:
it ships Java 11 bytecode and would break the Java 8 baseline build. The reader's behavior is validated against
committed golden base64 fixtures (src/test/resources/arrow) rather than the official arrow-vector writer, so no
Apache Arrow test dependency is required. -->
<dependency>
<groupId>com.google.flatbuffers</groupId>
<artifactId>flatbuffers-java</artifactId>
<version>24.3.25</version> <!-- {x-version-update;com.google.flatbuffers:flatbuffers-java;external_dependency} -->
</dependency>

</dependencies>

<profiles>
Expand Down Expand Up @@ -182,5 +200,84 @@
</plugins>
</build>
</profile>

<!-- This profile is used to generate a sources JAR with arrow-format shaded into com.azure.storage.blob.implementation.util.apachearrow. -->
<!-- DO NOT run this profile with release, it is only meant to be run locally when the shaded Apache Arrow code needs to be updated. -->
<!-- -->
<!-- To update the shaded Apache Arrow code, run Maven build with '-Dshade-apache-arrow-format' included in the command. -->
<!-- In the target folder, extract the sources JAR. The path com/azure/storage/blob/implementation/util/apachearrow will contain the relocated Apache Arrow source code. -->
<!-- Copy this code into the com.azure.storage.blob.implementation.util.apachearrow package in azure-storage-blob and overwrite the existing files. -->
<profile>
<id>shade-apache-arrow-format</id>
<activation>
<property>
<name>shade-apache-arrow-format</name>
</property>
</activation>

<dependencies>
<dependency>
<groupId>org.apache.arrow</groupId>
<artifactId>arrow-format</artifactId>
<version>19.0.0</version> <!-- {x-version-update;org.apache.arrow:arrow-format;external_dependency} -->
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.6.0</version> <!-- {x-version-update;org.apache.maven.plugins:maven-shade-plugin;external_dependency} -->

<executions>
<execution>
<id>shade</id>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>

<configuration>
<createSourcesJar>true</createSourcesJar>
<shadeSourcesContent>true</shadeSourcesContent>
<shadedArtifactAttached>true</shadedArtifactAttached>
<shadedClassifierName>shade-apache-arrow-format</shadedClassifierName>
<createDependencyReducedPom>false</createDependencyReducedPom>

<artifactSet>
<includes>
<include>org.apache.arrow:arrow-format</include> <!-- {x-include-update;org.apache.arrow:arrow-format;external_dependency} -->
</includes>
</artifactSet>

<relocations>
<relocation>
<pattern>org.apache.arrow.flatbuf</pattern>
<shadedPattern>com.azure.storage.blob.implementation.util.apachearrow</shadedPattern>
</relocation>
</relocations>
</configuration>
</plugin>

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.6.1</version> <!-- {x-version-update;org.apache.maven.plugins:maven-enforcer-plugin;external_dependency} -->
<configuration>
<rules>
<bannedDependencies>
<includes>
<include>org.apache.arrow:arrow-format:[19.0.0]</include> <!-- {x-include-update;org.apache.arrow:arrow-format;external_dependency} -->
</includes>
</bannedDependencies>
</rules>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>
Loading
Loading