You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Status

Current state[One of "Under Discussion", "Accepted", "Rejected"]

Discussion threadhere (<- link to https://mail-archives.apache.org/mod_mbox/flink-dev/)

JIRAhere (<- link to https://issues.apache.org/jira/browse/FLINK-18255)

Released: <1.19>

Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).

Motivation

As described in FLINK-18255[1] , several user-facing classes in flink-statebackend-rocksdb module don't have any API annotations, not even @PublicEvolving. These should be added to clarify their usage.

[1] https://issues.apache.org/jira/browse/FLINK-18255

Public Interfaces & Proposed Changes

This FLIP will add API annotations for Rocksdb StateBackend user-facing classes. The classes listed below are not annotated currently, and I propose that they are annotated as listed below on the right.

Class (in flink-statebackend-rocksdb module)

annotation that need be added

ConfigurableRocksDBOptionsFactory

@PublicEvolving

RocksDBConfigurableOptions

@PublicEvolving

RocksDBNativeMetricOptions

@PublicEvolving

RocksDBOptions

@PublicEvolving

RocksDBOptionsFactory

@PublicEvolving

RocksDBStateBackendFactory

@PublicEvolving

SingleStateIterator

@Internal

RocksDBRestoreOperation

@Internal

RocksDBStateDownloader

@Internal

RocksDBStateUploader

@Internal

Moreover, EmbeddedRocksDBStateBackend and EmbeddedRocksDBStateBackendFactory have beed marked as @PublicEvolving , so this FLIP don't need to consider them.

Compatibility, Deprecation, and Migration Plan

As declared in the "Flink API Compatibility Guarantee"[2], any API without annotations is considered internal to Flink, with no guarantees being provided. Therefore, marking the classes which don't have annotations previously as @PublicEvolving does not break compatibility rules for existing users.


[2] https://nightlies.apache.org/flink/flink-docs-master/docs/ops/upgrading/#api-compatibility-guarantees

Rejected Alternatives

None.


  • No labels