Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-33465

Make SingleThreadFetcherManager and FutureCompletingBlockingQueue as PublicEvolving.

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Duplicate
    • 1.18.0
    • None
    • Connectors / Parent
    • 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-connectorflink-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

          Activity

            People

              Unassigned Unassigned
              loserwang1024 Hongshun Wang
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: