Skip to content

Commit 4ee4e39

Browse files
authored
[FLINK-40632][s3] Remove Experimental annotation from native-s3-fs
1 parent be7d380 commit 4ee4e39

5 files changed

Lines changed: 10 additions & 25 deletions

File tree

docs/content.zh/docs/deployment/filesystems/s3.md

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -68,10 +68,10 @@ Note that these examples are *not* exhaustive and you can use S3 in other places
6868

6969
Flink provides three independent S3 filesystem implementations:
7070

71-
| Implementation | Checkpointing | FileSink | Notes |
72-
|---------------|:---:|:---:|-------|
73-
| **Native S3** (`flink-s3-fs-native`) ||| **Experimental** in Flink 2.3. Built on AWS SDK v2; no Hadoop dependency. |
74-
| **Presto S3** (`flink-s3-fs-presto`) || x | Production-proven for checkpointing. |
71+
| Implementation | Checkpointing | FileSink | Notes |
72+
|---------------|:---:|:---:|--------------------------------------------------------------------------------------------|
73+
| **Native S3** (`flink-s3-fs-native`) ||| Built on AWS SDK v2; no Hadoop dependency. Generally available since Flink 2.4. |
74+
| **Presto S3** (`flink-s3-fs-presto`) || x | Production-proven for checkpointing. |
7575
| **Hadoop S3** (`flink-s3-fs-hadoop`) ||| Mature; the only stable implementation that provides `RecoverableWriter` for the FileSink. |
7676

7777
Previously, users had to choose between Presto (recommended for checkpointing throughput) and Hadoop (the only implementation with `RecoverableWriter`, required by the [FileSink]({{< ref "docs/connectors/datastream/filesystem" >}})). The Native S3 implementation unifies both capabilities in a single plugin and measurements show significant checkpoint throughput improvements over the Presto implementation.
@@ -149,11 +149,7 @@ The legacy configuration key `s3.path.style.access` is still supported as a fall
149149

150150
## Implementation Details
151151

152-
### Native S3 FileSystem (Experimental)
153-
154-
{{< hint warning >}}
155-
**Experimental**: The Native S3 FileSystem is experimental in Flink 2.3. It is functionally complete and has demonstrated strong performance in benchmarks.
156-
{{< /hint >}}
152+
### Native S3 FileSystem
157153

158154
The Native S3 FileSystem is a pure-Java implementation built on the AWS SDK v2 completely removing the dependency on Hadoop. It is registered under the schemes *s3://* and *s3a://*. It provides a drop-in replacement for the Presto and Hadoop implementations, supporting checkpointing, the [FileSink]({{< ref "docs/connectors/datastream/filesystem" >}}) (via `RecoverableWriter`), server-side encryption (SSE-S3, SSE-KMS), cross-account access via IAM role assumption, entropy injection, and bulk copy via S3TransferManager.
159155

docs/content/docs/deployment/filesystems/s3.md

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -68,10 +68,10 @@ Note that these examples are *not* exhaustive and you can use S3 in other places
6868

6969
Flink provides three independent S3 filesystem implementations:
7070

71-
| Implementation | Checkpointing | FileSink | Notes |
72-
|---------------|:---:|:---:|-------|
73-
| **Native S3** (`flink-s3-fs-native`) ||| **Experimental** in Flink 2.3. Built on AWS SDK v2; no Hadoop dependency. |
74-
| **Presto S3** (`flink-s3-fs-presto`) || x | Production-proven for checkpointing. |
71+
| Implementation | Checkpointing | FileSink | Notes |
72+
|---------------|:---:|:---:|--------------------------------------------------------------------------------------------|
73+
| **Native S3** (`flink-s3-fs-native`) ||| Built on AWS SDK v2; no Hadoop dependency. Generally available since Flink 2.4. |
74+
| **Presto S3** (`flink-s3-fs-presto`) || x | Production-proven for checkpointing. |
7575
| **Hadoop S3** (`flink-s3-fs-hadoop`) ||| Mature; the only stable implementation that provides `RecoverableWriter` for the FileSink. |
7676

7777
Previously, users had to choose between Presto (recommended for checkpointing throughput) and Hadoop (the only implementation with `RecoverableWriter`, required by the [FileSink]({{< ref "docs/connectors/datastream/filesystem" >}})). The Native S3 implementation unifies both capabilities in a single plugin and measurements show significant checkpoint throughput improvements over the Presto implementation.
@@ -149,11 +149,7 @@ The legacy configuration key `s3.path.style.access` is still supported as a fall
149149

150150
## Implementation Details
151151

152-
### Native S3 FileSystem (Experimental)
153-
154-
{{< hint warning >}}
155-
**Experimental**: The Native S3 FileSystem is experimental in Flink 2.3. It is functionally complete and has demonstrated strong performance in benchmarks.
156-
{{< /hint >}}
152+
### Native S3 FileSystem
157153

158154
The Native S3 FileSystem is a pure-Java implementation built on the AWS SDK v2 completely removing the dependency on Hadoop. It is registered under the schemes *s3://* and *s3a://*. It provides a drop-in replacement for the Presto and Hadoop implementations, supporting checkpointing, the [FileSink]({{< ref "docs/connectors/datastream/filesystem" >}}) (via `RecoverableWriter`), server-side encryption (SSE-S3, SSE-KMS), cross-account access via IAM role assumption, entropy injection, and bulk copy via S3TransferManager.
159155

flink-filesystems/flink-s3-fs-native/src/main/java/org/apache/flink/fs/s3native/NativeS3AFileSystemFactory.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@
1818

1919
package org.apache.flink.fs.s3native;
2020

21-
import org.apache.flink.annotation.Experimental;
22-
2321
/**
2422
* Factory for the native S3 file system registered for the {@code s3a://} scheme.
2523
*
@@ -29,7 +27,6 @@
2927
* <p>All configuration options are the same as for the {@code s3://} scheme. See {@link
3028
* NativeS3FileSystemFactory} for available options.
3129
*/
32-
@Experimental
3330
public class NativeS3AFileSystemFactory extends NativeS3FileSystemFactory {
3431

3532
@Override

flink-filesystems/flink-s3-fs-native/src/main/java/org/apache/flink/fs/s3native/NativeS3FileSystemFactory.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818

1919
package org.apache.flink.fs.s3native;
2020

21-
import org.apache.flink.annotation.Experimental;
2221
import org.apache.flink.configuration.ConfigOption;
2322
import org.apache.flink.configuration.ConfigOptions;
2423
import org.apache.flink.configuration.Configuration;
@@ -61,7 +60,6 @@
6160
* @see NativeS3FileSystem
6261
* @see org.apache.flink.core.fs.FileSystemFactory
6362
*/
64-
@Experimental
6563
public class NativeS3FileSystemFactory implements FileSystemFactory, MetricsAware {
6664

6765
private static final Logger LOG = LoggerFactory.getLogger(NativeS3FileSystemFactory.class);

flink-filesystems/flink-s3-fs-native/src/main/java/org/apache/flink/fs/s3native/writer/NativeS3RecoverableWriter.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818

1919
package org.apache.flink.fs.s3native.writer;
2020

21-
import org.apache.flink.annotation.Experimental;
2221
import org.apache.flink.core.fs.Path;
2322
import org.apache.flink.core.fs.RecoverableFsDataOutputStream;
2423
import org.apache.flink.core.fs.RecoverableWriter;
@@ -36,7 +35,6 @@
3635
import static org.apache.flink.util.Preconditions.checkNotNull;
3736

3837
/** Recoverable writer for S3 using multipart uploads for exactly-once semantics. */
39-
@Experimental
4038
public class NativeS3RecoverableWriter implements RecoverableWriter, AutoCloseable {
4139

4240
private static final Logger LOG = LoggerFactory.getLogger(NativeS3RecoverableWriter.class);

0 commit comments

Comments
 (0)