[ 
https://issues.apache.org/jira/browse/FLINK-40140?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sylwester Lachiewicz closed FLINK-40140.
----------------------------------------
    Resolution: Duplicate

Duplicate of FLINK-40137, which tracks the same refactor and is referenced by 
the open PR.

> Extract reader recovery gating from DynamicKafkaSourceEnumerator into a 
> ReaderRecoveryCoordinator
> -------------------------------------------------------------------------------------------------
>
>                 Key: FLINK-40140
>                 URL: https://issues.apache.org/jira/browse/FLINK-40140
>             Project: Flink
>          Issue Type: Improvement
>          Components: Connectors / Kafka
>            Reporter: Sylwester Lachiewicz
>            Priority: Minor
>
> DynamicKafkaSourceEnumerator (~1,200 lines) accumulated three interacting 
> pieces of recovery gating state with FLINK-39980: 
> initialReaderRegistrationPending, pendingReportedSplitsByReader, and 
> pendingMetadataUpdateReaders. The gating semantics (when to defer split 
> assignment and metadata update events during recovery) are implicit in field 
> interactions spread across several methods, and cannot be tested without 
> driving the whole enumerator.
>  
> Proposal: extract this state into a dedicated ReaderRecoveryCoordinator 
> collaborator with intent-revealing methods (hasPendingRecovery, 
> shouldDeferMetadataUpdateEvents, drainReportedSplits, 
> drainDeferredMetadataUpdateReaders) covered by direct unit tests. No behavior 
> change intended; orchestration stays in the enumerator.
>  
> This is preparatory cleanup toward further decomposition of the enumerator 
> (e.g. bounded-mode no-more-splits termination signaling), whose coupling 
> contributed to the idle-reader hang observed in 
> SourceTestSuiteBase#testIdleReader.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to