Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Duplicate
-
1.18.0
-
None
-
None
Description
As discussed in FLINK-31324, though the SingleThreadFetcherManager is annotated as Internal, it actually acts as some-degree public API, which is widely used in many connector projects:
flink-cdc-connector, flink-connector-mongodb and so on.
More over, even the constructor of
`SingleThreadMultiplexSourceReaderBase` (which is PublicEvolving) includes the params of `SingleThreadFetcherManager` and `FutureCompletingBlockingQueue` .That means that the `SingleThreadFetcherManager` and
`FutureCompletingBlockingQueue`have already been exposed to users for a long time and are widely used.
public SingleThreadMultiplexSourceReaderBase( FutureCompletingBlockingQueue<RecordsWithSplitIds<E>> elementsQueue, SingleThreadFetcherManager<E, SplitT> splitFetcherManager, RecordEmitter<E, T, SplitStateT> recordEmitter, Configuration config, SourceReaderContext context) { super(elementsQueue, splitFetcherManager, recordEmitter, config, context); }
Therefore, why not make SingleThreadFetcherManager and FutureCompletingBlockingQueue PublicEvolving?
Attachments
Issue Links
- duplicates
-
FLINK-34196 FLIP-389 Annotate SingleThreadFetcherManager as PublicEvolving.
- Resolved