pvary commented on code in PR #9308:
URL: https://github.com/apache/iceberg/pull/9308#discussion_r1430516299


##########
flink/v1.18/flink/src/main/java/org/apache/iceberg/flink/source/reader/IcebergSourceSplitReader.java:
##########
@@ -123,6 +155,19 @@ public void close() throws Exception {
     }
   }
 
+  @Override
+  public void pauseOrResumeSplits(
+      Collection<IcebergSourceSplit> splitsToPause, 
Collection<IcebergSourceSplit> splitsToResume) {
+    LOG.info("Pause splits: {} and resume splits: {}", splitsToPause, 
splitsToResume);
+    pausedSplits.addAll(

Review Comment:
   If the SplitFetcher realizes that the reader should be paused, then it will:
   - Call the `wakeUp` to unblock the current `fetch`
   - When it gets back the control (after the fetch is unblocked), then it 
calls `pauseOrResumeSplits`
   - After `pauseOrResumeSplits` it calls the fetch again
   
   The SplitFetcher keeps  a `taskQueue` which contains the changes on the 
splits. If there is no task, then if goes to `fetch` and if there is nothing in 
the queue and the fetch result is empty, then the fetcher is closed. The only 
method which gets called in parallel is the `wakeUp` to break the `fetch` loop



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org

Reply via email to