This is an automated email from the ASF dual-hosted git repository.
shunping pushed a commit to branch fadvice
in repository https://gitbox.apache.org/repos/asf/beam.git
The following commit(s) were added to refs/heads/fadvice by this push:
new e684df8816e Override default fadvice to SEQUENTIAL
e684df8816e is described below
commit e684df8816ee4a16282e333ef6bc1bf33c131c24
Author: Shunping Huang <[email protected]>
AuthorDate: Wed Jul 22 19:01:02 2026 -0400
Override default fadvice to SEQUENTIAL
This fixes the regression introduced by gcs-connector v3.
---
.../org/apache/beam/sdk/extensions/gcp/options/GcsOptions.java | 8 +++++++-
.../apache/beam/sdk/extensions/gcp/options/GcsOptionsTest.java | 4 ++--
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git
a/sdks/java/extensions/google-cloud-platform-core/src/main/java/org/apache/beam/sdk/extensions/gcp/options/GcsOptions.java
b/sdks/java/extensions/google-cloud-platform-core/src/main/java/org/apache/beam/sdk/extensions/gcp/options/GcsOptions.java
index 35cba02f7c1..eb070b5b0c5 100644
---
a/sdks/java/extensions/google-cloud-platform-core/src/main/java/org/apache/beam/sdk/extensions/gcp/options/GcsOptions.java
+++
b/sdks/java/extensions/google-cloud-platform-core/src/main/java/org/apache/beam/sdk/extensions/gcp/options/GcsOptions.java
@@ -60,7 +60,13 @@ public interface GcsOptions extends ApplicationNameOptions,
GcpOptions, Pipeline
class GcsReadOptionsFactory implements
DefaultValueFactory<GoogleCloudStorageReadOptions> {
@Override
public GoogleCloudStorageReadOptions create(PipelineOptions options) {
- return GoogleCloudStorageReadOptions.DEFAULT;
+ // In gcs-connector v3, GoogleCloudStorageReadOptions.DEFAULT changed
fadvise from SEQUENTIAL
+ // to AUTO. Beam workloads default to SEQUENTIAL to preserve expected
sequential read
+ // throughput and caching behavior.
+ return GoogleCloudStorageReadOptions.DEFAULT
+ .toBuilder()
+ .setFadvise(GoogleCloudStorageReadOptions.Fadvise.SEQUENTIAL)
+ .build();
}
}
diff --git
a/sdks/java/extensions/google-cloud-platform-core/src/test/java/org/apache/beam/sdk/extensions/gcp/options/GcsOptionsTest.java
b/sdks/java/extensions/google-cloud-platform-core/src/test/java/org/apache/beam/sdk/extensions/gcp/options/GcsOptionsTest.java
index de460ca0986..11e85d796be 100644
---
a/sdks/java/extensions/google-cloud-platform-core/src/test/java/org/apache/beam/sdk/extensions/gcp/options/GcsOptionsTest.java
+++
b/sdks/java/extensions/google-cloud-platform-core/src/test/java/org/apache/beam/sdk/extensions/gcp/options/GcsOptionsTest.java
@@ -86,7 +86,7 @@ public class GcsOptionsTest {
GcsOptions options = PipelineOptionsFactory.as(GcsOptions.class);
GoogleCloudStorageReadOptions readOptions =
GoogleCloudStorageReadOptions.builder()
- .setFadvise(GoogleCloudStorageReadOptions.Fadvise.SEQUENTIAL)
+ .setFadvise(GoogleCloudStorageReadOptions.Fadvise.RANDOM)
.setFastFailOnNotFoundEnabled(false)
.setMinRangeRequestSize(12345L)
.build();
@@ -102,7 +102,7 @@ public class GcsOptionsTest {
assertNotNull(deserializedReadOptions);
assertEquals(
- GoogleCloudStorageReadOptions.Fadvise.SEQUENTIAL,
deserializedReadOptions.getFadvise());
+ GoogleCloudStorageReadOptions.Fadvise.RANDOM,
deserializedReadOptions.getFadvise());
assertFalse(deserializedReadOptions.isFastFailOnNotFoundEnabled());
assertEquals(12345L, deserializedReadOptions.getMinRangeRequestSize());
}