This is an automated email from the ASF dual-hosted git repository.

sewen pushed a commit to branch release-1.11
in repository https://gitbox.apache.org/repos/asf/flink.git

commit 5b437075a835e1a51bb2c657ae5bdf75733737de
Author: Stephan Ewen <[email protected]>
AuthorDate: Tue Sep 15 21:29:41 2020 +0200

    [hotfix][connectors] Improve JavaDocs for SingleThreadFetcherManager
---
 .../reader/fetcher/SingleThreadFetcherManager.java       | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git 
a/flink-connectors/flink-connector-base/src/main/java/org/apache/flink/connector/base/source/reader/fetcher/SingleThreadFetcherManager.java
 
b/flink-connectors/flink-connector-base/src/main/java/org/apache/flink/connector/base/source/reader/fetcher/SingleThreadFetcherManager.java
index 339c533..de50e6a 100644
--- 
a/flink-connectors/flink-connector-base/src/main/java/org/apache/flink/connector/base/source/reader/fetcher/SingleThreadFetcherManager.java
+++ 
b/flink-connectors/flink-connector-base/src/main/java/org/apache/flink/connector/base/source/reader/fetcher/SingleThreadFetcherManager.java
@@ -20,6 +20,7 @@ package org.apache.flink.connector.base.source.reader.fetcher;
 
 import org.apache.flink.api.connector.source.SourceSplit;
 import org.apache.flink.connector.base.source.reader.RecordsWithSplitIds;
+import org.apache.flink.connector.base.source.reader.SourceReaderBase;
 import org.apache.flink.connector.base.source.reader.splitreader.SplitReader;
 import 
org.apache.flink.connector.base.source.reader.synchronization.FutureCompletingBlockingQueue;
 
@@ -27,11 +28,24 @@ import java.util.List;
 import java.util.function.Supplier;
 
 /**
- * A Fetcher manager with a single fetcher and assign all the splits to it.
+ * A Fetcher Manager with a single fetching thread (I/O thread) that handles 
all splits concurrently.
+ *
+ * <p>This pattern is, for example, useful for connectors like File Readers, 
Apache Kafka Readers, etc.
+ * In the example of Kafka, there is a single thread that reads all splits 
(topic partitions) via the
+ * same client. In the example of the file source, there is a single thread 
that reads the files
+ * after another.
  */
 public class SingleThreadFetcherManager<E, SplitT extends SourceSplit>
                extends SplitFetcherManager<E, SplitT> {
 
+       /**
+        * Creates a new SplitFetcherManager with a single I/O threads.
+        *
+        * @param elementsQueue The queue that is used to hand over data from 
the I/O thread (the fetchers)
+        *                      to the reader (which emits the records and 
book-keeps the state.
+        *                      This must be the same queue instance that is 
also passed to the {@link SourceReaderBase}.
+        * @param splitReaderSupplier The factory for the split reader that 
connects to the source system.
+        */
        public SingleThreadFetcherManager(
                        FutureCompletingBlockingQueue<RecordsWithSplitIds<E>> 
elementsQueue,
                        Supplier<SplitReader<E, SplitT>> splitReaderSupplier) {

Reply via email to