You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "slachiewicz (via GitHub)" <gi...@apache.org> on 2026/07/12 11:44:01 UTC

[PR] [hotfix] Fix flaky ConcurrentModificationException in DynamicKafkaSourceEnumeratorTest [flink-connector-kafka]

slachiewicz opened a new pull request, #285:
URL: https://github.com/apache/flink-connector-kafka/pull/285

   
   hasLatestMetadataUpdateEvent() polls getLatestMetadataUpdateEventWithoutContextSync(), which reads MockSplitEnumeratorContext's internal sentSourceEvent list via reflection directly from the JUnit test thread, bypassing the context's single-threaded main executor. The enumerator's metadata discovery thread appends to that same list via sendEventToSourceReader() (correctly serialized through the main executor), so a test thread iterating the list via Stream.reduce() while that thread appends to it occasionally throws ConcurrentModificationException instead of the intended AssertionError "not ready yet" signal.
   
   Catch ConcurrentModificationException alongside AssertionError so the existing CommonTestUtils.waitUtil(...) polling loop retries instead of failing the test.


-- 
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-unsubscribe@flink.apache.org

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


Re: [PR] [FLINK-40136] Fix flaky ConcurrentModificationException in DynamicKafkaSourceEnumeratorTest [flink-connector-kafka]

Posted by "slachiewicz (via GitHub)" <gi...@apache.org>.
slachiewicz commented on PR #285:
URL: https://github.com/apache/flink-connector-kafka/pull/285#issuecomment-5471446682

   @Efrat19 good catch on the reflection — `getSentSourceEvent()` is public and I will switch to it.
   
   It will not remove the `ConcurrentModificationException` though. In `MockSplitEnumeratorContext`, `getSentSourceEvent()` copies on `workerExecutor` while `sendEventToSourceReader` writes on `mainExecutor`, and those are two separate single-thread executors created in the constructor, so the copy is not serialised against the writer. The copy is also shallow: `new HashMap<>(sentSourceEvent)` shares the `List<SourceEvent>` values, and it is that inner list this helper streams — which is where the CME actually comes from.
   
   So I would like to keep the catch alongside the accessor change. `hasLatestMetadataUpdateEvent` is a poll predicate, so returning false and retrying is the right response to a mid-write read.
   
   Removing the race properly means changing `MockSplitEnumeratorContext` in flink-core to copy on the main executor and deep-copy the value lists. Happy to file that separately if you think it is worth doing.
   
   *This comment was created with AI assistance.*
   


-- 
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-unsubscribe@flink.apache.org

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


Re: [PR] [FLINK-40136][Connectors/Kafka] Fix flaky ConcurrentModificationException in DynamicKafkaSourceEnumeratorTest [flink-connector-kafka]

Posted by "slachiewicz (via GitHub)" <gi...@apache.org>.
slachiewicz commented on code in PR #285:
URL: https://github.com/apache/flink-connector-kafka/pull/285#discussion_r4040553105


##########
flink-connector-kafka/src/test/java/org/apache/flink/connector/kafka/dynamic/source/enumerator/DynamicKafkaSourceEnumeratorTest.java:
##########
@@ -2411,6 +2412,11 @@ private MetadataUpdateEvent getLatestMetadataUpdateEvent(
     @SuppressWarnings("unchecked")
     private MetadataUpdateEvent getLatestMetadataUpdateEventWithoutContextSync(
             MockSplitEnumeratorContext<DynamicKafkaSourceSplit> context, int readerId) {
+        // Reflection is required here because MockSplitEnumeratorContext#getSentSourceEvent()
+        // dispatches to workerExecutor and blocks on Future#get(). In tests that intentionally
+        // block workerExecutor (e.g.
+        // testProductionMetadataRefreshBypassesBlockedSourceCoordinatorAsyncCallable),
+        // calling getSentSourceEvent() deadlocks.

Review Comment:
   Partly. FLINK-40543 (still open, Qiu Yanjun asked to take it on 09-13) removes the `ConcurrentModificationException`, so the catch in `hasLatestMetadataUpdateEvent()` becomes redundant. The reflection here only goes away if that fix also stops `getSentSourceEvent()` blocking on `workerExecutor`, which the ticket recommends but does not require. Either way the connector builds against the lowest supported `flink.version`, so both stay until that minimum carries the fix.
   
   *This comment was created with AI assistance.*



-- 
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-unsubscribe@flink.apache.org

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


Re: [PR] [FLINK-40136][Connectors/Kafka] Fix flaky ConcurrentModificationException in DynamicKafkaSourceEnumeratorTest [flink-connector-kafka]

Posted by "Efrat19 (via GitHub)" <gi...@apache.org>.
Efrat19 commented on code in PR #285:
URL: https://github.com/apache/flink-connector-kafka/pull/285#discussion_r4014032597


##########
flink-connector-kafka/src/test/java/org/apache/flink/connector/kafka/dynamic/source/enumerator/DynamicKafkaSourceEnumeratorTest.java:
##########
@@ -2411,6 +2412,11 @@ private MetadataUpdateEvent getLatestMetadataUpdateEvent(
     @SuppressWarnings("unchecked")
     private MetadataUpdateEvent getLatestMetadataUpdateEventWithoutContextSync(
             MockSplitEnumeratorContext<DynamicKafkaSourceSplit> context, int readerId) {
+        // Reflection is required here because MockSplitEnumeratorContext#getSentSourceEvent()
+        // dispatches to workerExecutor and blocks on Future#get(). In tests that intentionally
+        // block workerExecutor (e.g.
+        // testProductionMetadataRefreshBypassesBlockedSourceCoordinatorAsyncCallable),
+        // calling getSentSourceEvent() deadlocks.

Review Comment:
   Will this also be solved by FLINK-40543?



-- 
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-unsubscribe@flink.apache.org

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


Re: [PR] [FLINK-40136] Fix flaky ConcurrentModificationException in DynamicKafkaSourceEnumeratorTest [flink-connector-kafka]

Posted by "Efrat19 (via GitHub)" <gi...@apache.org>.
Efrat19 commented on PR #285:
URL: https://github.com/apache/flink-connector-kafka/pull/285#issuecomment-5558476130

   > @Efrat19 I have created the [flink-core](https://issues.apache.org/jira/browse/FLINK-core) ticket to track the race condition in `MockSplitEnumeratorContext`: https://issues.apache.org/jira/browse/FLINK-40543 and linked it in the PR description and code comment.
   > 
   > _This comment was created with AI assistance._
   
   Thank you!
   Is the `getSentSourceEvent` calls causing a CI deadlock now?


-- 
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-unsubscribe@flink.apache.org

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


Re: [PR] [FLINK-40136][Connectors/Kafka] Fix flaky ConcurrentModificationException in DynamicKafkaSourceEnumeratorTest [flink-connector-kafka]

Posted by "MartijnVisser (via GitHub)" <gi...@apache.org>.
MartijnVisser merged PR #285:
URL: https://github.com/apache/flink-connector-kafka/pull/285


-- 
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-unsubscribe@flink.apache.org

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


Re: [PR] [FLINK-40136] Fix flaky ConcurrentModificationException in DynamicKafkaSourceEnumeratorTest [flink-connector-kafka]

Posted by "slachiewicz (via GitHub)" <gi...@apache.org>.
slachiewicz commented on PR #285:
URL: https://github.com/apache/flink-connector-kafka/pull/285#issuecomment-5471439470

   @Efrat19 re `getSentSourceEvent()` vs the Whitebox read — I looked into it, and unfortunately the public getter doesn't close this race in Flink 2.2/2.3:
   
   ```java
   public Map<Integer, List<SourceEvent>> getSentSourceEvent() throws Exception {
       return workerExecutor.submit(() -> new HashMap<>(sentSourceEvent)).get();
   }
   ```
   
   Two problems for the racy call sites:
   
   1. **The copy runs on the workerExecutor, but mutations run on the mainExecutor** (`sendEventToSourceReader` mutates the HashMap directly when on the main thread). In the tests that hit the flake (e.g. the `awaitCloseStarted()` one at line ~1196), close keeps sending events on the main executor while the test polls — so the copy can still throw `ConcurrentModificationException`, same as the Whitebox read.
   2. If it does, `.get()` wraps it in an `ExecutionException`, which the retry `catch (AssertionError | ConcurrentModificationException)` doesn't catch — the retry fix would be defeated. During close polling there's also a `RejectedExecutionException` risk once the executor is shut down.
   
   The non-racy helper next to it (`getLatestMetadataUpdateEvent`, line ~2388) already uses the public getter — so reflection is confined to the one polling path that races with the close. I'd keep the Whitebox read + multi-catch as-is, but happy to switch and widen the catch to `ExecutionException`/`RejectedExecutionException` if you prefer dropping the reflection.


-- 
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-unsubscribe@flink.apache.org

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


Re: [PR] [FLINK-40136][Connectors/Kafka] Fix flaky ConcurrentModificationException in DynamicKafkaSourceEnumeratorTest [flink-connector-kafka]

Posted by "slachiewicz (via GitHub)" <gi...@apache.org>.
slachiewicz commented on PR #285:
URL: https://github.com/apache/flink-connector-kafka/pull/285#issuecomment-5600809629

   @Efrat19 Yes, that is exactly what happened.
   
   ### Root Cause Analysis
   In `MockSplitEnumeratorContext`, `getSentSourceEvent()` is implemented by submitting a task to `workerExecutor`:
   ```java
   workerExecutor.submit(() -> new HashMap<>(sentSourceEvent)).get();
   ```
   `workerExecutor` is a single-threaded executor.
   
   In `DynamicKafkaSourceEnumeratorTest#testProductionMetadataRefreshBypassesBlockedSourceCoordinatorAsyncCallable`, the test deliberately blocks `workerExecutor` with an async callable waiting on a `CountDownLatch` (`allowSourceCoordinatorCallableToFinish`), specifically to assert that metadata discovery bypasses a blocked coordinator callable.
   
   When `hasLatestMetadataUpdateEvent()` called `context.getSentSourceEvent()`, it queued onto the blocked `workerExecutor` and waited indefinitely on `FutureTask.get()`, causing the 50-minute CI timeout.
   
   ### Resolution
   In `5df47434`:
   - Retained reflection via `Whitebox.getInternalState(context, "sentSourceEvent")` in `getLatestMetadataUpdateEventWithoutContextSync()` with an explanatory comment documenting why `getSentSourceEvent()` deadlocks here.
   - Kept the `catch (AssertionError | ConcurrentModificationException e)` in `hasLatestMetadataUpdateEvent()` so concurrent modifications during polling retry cleanly.
   
   Verified locally: `testProductionMetadataRefreshBypassesBlockedSourceCoordinatorAsyncCallable` now completes in ~17 seconds without hanging.


-- 
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-unsubscribe@flink.apache.org

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


Re: [PR] [FLINK-40136] Fix flaky ConcurrentModificationException in DynamicKafkaSourceEnumeratorTest [flink-connector-kafka]

Posted by "slachiewicz (via GitHub)" <gi...@apache.org>.
slachiewicz commented on code in PR #285:
URL: https://github.com/apache/flink-connector-kafka/pull/285#discussion_r3751325908


##########
flink-connector-kafka/src/main/java/org/apache/flink/connector/kafka/dynamic/source/reader/DynamicKafkaSourceReader.java:
##########
@@ -385,9 +385,14 @@ public void handleSourceEvents(SourceEvent sourceEvent) {
 
             addSplits(validPendingSplits);
             pendingSplits.clear();
-            if (isNoMoreSplits) {
-                notifyNoMoreSplits();
-            }
+        }
+
+        // Re-deliver a no-more-splits signal that arrived before this metadata update, since
+        // sub-readers created above have not seen it. This must also happen when there are no
+        // pending splits at all: an idle reader that registers after all bounded sub-enumerators
+        // finished discovery receives no-more-splits first and would otherwise never finish.
+        if (isNoMoreSplits) {

Review Comment:
   You were right — moved to #291 under FLINK-40362, where the reproduction and the notification-frequency question are answered.



##########
flink-connector-kafka/src/test/java/org/apache/flink/connector/kafka/dynamic/source/reader/DynamicKafkaSourceReaderTest.java:
##########
@@ -369,6 +369,34 @@ void testNotifyNoMoreSplits() throws Exception {
         }
     }
 
+    @Test
+    void testIdleReaderFinishesWhenNoMoreSplitsArrivesBeforeMetadata() throws Exception {

Review Comment:
   You were right — moved to #291 under FLINK-40362, where the reproduction and the notification-frequency question are answered.



-- 
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-unsubscribe@flink.apache.org

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


Re: [PR] [FLINK-40136] Fix flaky ConcurrentModificationException in DynamicKafkaSourceEnumeratorTest [flink-connector-kafka]

Posted by "Efrat19 (via GitHub)" <gi...@apache.org>.
Efrat19 commented on PR #285:
URL: https://github.com/apache/flink-connector-kafka/pull/285#issuecomment-5491809463

   > getSentSourceEvent() is public and I will switch to it.
   
   Thanks - please update commit description accordingly
   
   > Removing the race properly means changing `MockSplitEnumeratorContext` in [flink-core](https://issues.apache.org/jira/browse/FLINK-core) to copy on the main executor and deep-copy the value lists. Happy to file that separately if you think it is worth doing.
   
   Sounds like a simple fix through `ConcurrentHashMap` - can we at least have a ticket?
   
   
   > It will not remove the ConcurrentModificationException though
   
   Understood, would be nice to link to the ticket for the flink-core fix 


-- 
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-unsubscribe@flink.apache.org

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


Re: [PR] [FLINK-40136][Connectors/Kafka] Fix flaky ConcurrentModificationException in DynamicKafkaSourceEnumeratorTest [flink-connector-kafka]

Posted by "Savonitar (via GitHub)" <gi...@apache.org>.
Savonitar commented on PR #285:
URL: https://github.com/apache/flink-connector-kafka/pull/285#issuecomment-5712547719

   Hi. Thanks for the PR!
   I see it is "DRAFT". Could you please clarify, Is it still Draft or ready for a review (I see there is an approval already)?
   The flaky issue blocks some other PRs. 


-- 
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-unsubscribe@flink.apache.org

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


Re: [PR] [FLINK-40136] Fix flaky ConcurrentModificationException in DynamicKafkaSourceEnumeratorTest [flink-connector-kafka]

Posted by "slachiewicz (via GitHub)" <gi...@apache.org>.
slachiewicz commented on PR #285:
URL: https://github.com/apache/flink-connector-kafka/pull/285#issuecomment-5524050221

   @Efrat19 Done:
   - Switched `getLatestMetadataUpdateEventWithoutContextSync()` from reflection to `context.getSentSourceEvent()`, removing `@SuppressWarnings("unchecked")`.
   - `hasLatestMetadataUpdateEvent()` now catches `ConcurrentModificationException` directly as well as unwrapped from `ExecutionException` (in case CME occurs during `getSentSourceEvent()`'s `workerExecutor` copy).
   - Updated commit message and PR description.
   
   Regarding the `MockSplitEnumeratorContext` ticket for `flink-core`: I have prepared the ticket details for `flink-core` to track synchronizing the copy on `mainExecutor` and deep-copying event lists, and will link it once filed.
   
   *This comment was created with AI assistance.*


-- 
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-unsubscribe@flink.apache.org

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


Re: [PR] [FLINK-40136][Connectors/Kafka] Fix flaky ConcurrentModificationException in DynamicKafkaSourceEnumeratorTest [flink-connector-kafka]

Posted by "slachiewicz (via GitHub)" <gi...@apache.org>.
slachiewicz commented on PR #285:
URL: https://github.com/apache/flink-connector-kafka/pull/285#issuecomment-5719855632

   Ready for review now, marked as such. Approved by @Efrat19 on 09-15; CI green on the 09-11 rebase.
   
   *This comment was created with AI assistance.*


-- 
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-unsubscribe@flink.apache.org

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


Re: [PR] [FLINK-40136] Fix flaky ConcurrentModificationException in DynamicKafkaSourceEnumeratorTest [flink-connector-kafka]

Posted by "slachiewicz (via GitHub)" <gi...@apache.org>.
slachiewicz commented on PR #285:
URL: https://github.com/apache/flink-connector-kafka/pull/285#issuecomment-5243100164

   @spuru9 this is ready for another look — FLINK-40136 is filed with the description reworked, your multi-catch suggestion is applied, and the unrelated reader fix that had been sitting on the branch is now #291. What is left here is the two-line test change.


-- 
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-unsubscribe@flink.apache.org

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


Re: [PR] [FLINK-40136] Fix flaky ConcurrentModificationException in DynamicKafkaSourceEnumeratorTest [flink-connector-kafka]

Posted by "Efrat19 (via GitHub)" <gi...@apache.org>.
Efrat19 commented on code in PR #285:
URL: https://github.com/apache/flink-connector-kafka/pull/285#discussion_r3614134479


##########
flink-connector-kafka/src/main/java/org/apache/flink/connector/kafka/dynamic/source/reader/DynamicKafkaSourceReader.java:
##########
@@ -385,9 +385,14 @@ public void handleSourceEvents(SourceEvent sourceEvent) {
 
             addSplits(validPendingSplits);
             pendingSplits.clear();
-            if (isNoMoreSplits) {
-                notifyNoMoreSplits();
-            }
+        }
+
+        // Re-deliver a no-more-splits signal that arrived before this metadata update, since
+        // sub-readers created above have not seen it. This must also happen when there are no
+        // pending splits at all: an idle reader that registers after all bounded sub-enumerators
+        // finished discovery receives no-more-splits first and would otherwise never finish.
+        if (isNoMoreSplits) {

Review Comment:
   It seems like this fix addresses a different issue than the one described in the ticket?
   were you able to reproduce this in actual env / ITCase?
   Otherwise we should probably avoid this cross components notification on the checkpoint interval 🤔 



##########
flink-connector-kafka/src/test/java/org/apache/flink/connector/kafka/dynamic/source/reader/DynamicKafkaSourceReaderTest.java:
##########
@@ -369,6 +369,34 @@ void testNotifyNoMoreSplits() throws Exception {
         }
     }
 
+    @Test
+    void testIdleReaderFinishesWhenNoMoreSplitsArrivesBeforeMetadata() throws Exception {

Review Comment:
   ditto - maybe consider a different ticket



-- 
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-unsubscribe@flink.apache.org

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


Re: [PR] [FLINK-40136] Fix flaky ConcurrentModificationException in DynamicKafkaSourceEnumeratorTest [flink-connector-kafka]

Posted by "slachiewicz (via GitHub)" <gi...@apache.org>.
slachiewicz commented on PR #285:
URL: https://github.com/apache/flink-connector-kafka/pull/285#issuecomment-4962842019

   @spuru9 Filed https://issues.apache.org/jira/browse/FLINK-40136 and updated the PR title/description accordingly.


-- 
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-unsubscribe@flink.apache.org

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


Re: [PR] [FLINK-40136] Fix flaky ConcurrentModificationException in DynamicKafkaSourceEnumeratorTest [flink-connector-kafka]

Posted by "slachiewicz (via GitHub)" <gi...@apache.org>.
slachiewicz commented on PR #285:
URL: https://github.com/apache/flink-connector-kafka/pull/285#issuecomment-5524091330

   @Efrat19 I have created the flink-core ticket to track the race condition in `MockSplitEnumeratorContext`: https://issues.apache.org/jira/browse/FLINK-40543 and linked it in the PR description and code comment.
   
   *This comment was created with AI assistance.*


-- 
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-unsubscribe@flink.apache.org

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


Re: [PR] [hotfix] Fix flaky ConcurrentModificationException in DynamicKafkaSourceEnumeratorTest [flink-connector-kafka]

Posted by "spuru9 (via GitHub)" <gi...@apache.org>.
spuru9 commented on code in PR #285:
URL: https://github.com/apache/flink-connector-kafka/pull/285#discussion_r3566366950


##########
flink-connector-kafka/src/test/java/org/apache/flink/connector/kafka/dynamic/source/enumerator/DynamicKafkaSourceEnumeratorTest.java:
##########
@@ -2440,6 +2441,13 @@ private boolean hasLatestMetadataUpdateEvent(
                     .equals(Collections.singleton(expectedKafkaStream));
         } catch (AssertionError e) {
             return false;
+        } catch (ConcurrentModificationException e) {

Review Comment:
   Might just be one multi-catch instead of duplicating return false.
   
   ```suggestion
           } catch (AssertionError | ConcurrentModificationException e) {
   ```



-- 
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-unsubscribe@flink.apache.org

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


Re: [PR] [hotfix] Fix flaky ConcurrentModificationException in DynamicKafkaSourceEnumeratorTest [flink-connector-kafka]

Posted by "spuru9 (via GitHub)" <gi...@apache.org>.
spuru9 commented on PR #285:
URL: https://github.com/apache/flink-connector-kafka/pull/285#issuecomment-4962503344

   @slachiewicz I dont think it anymore falls in the domain of a hotfix. Can you file a JIRA for this. Also can you rework on the PR description as per the guidlines.


-- 
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-unsubscribe@flink.apache.org

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


Re: [PR] [FLINK-40136] Fix flaky ConcurrentModificationException in DynamicKafkaSourceEnumeratorTest [flink-connector-kafka]

Posted by "slachiewicz (via GitHub)" <gi...@apache.org>.
slachiewicz commented on PR #285:
URL: https://github.com/apache/flink-connector-kafka/pull/285#issuecomment-5242953948

   The reader fix that had been sitting on this branch is now #291 (FLINK-40362). #285 is back to the two-line test fix it is titled after, rebased on main.
   
   Note that CI here can still hit the `testIdleReader` hang until #291 lands, since main keeps the guard that causes it.


-- 
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-unsubscribe@flink.apache.org

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