[ 
https://issues.apache.org/jira/browse/KAFKA-19853?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18035477#comment-18035477
 ] 

Matthias J. Sax commented on KAFKA-19853:
-----------------------------------------

I am not sure if committing by itself would really solve it? Even during a 
rebalance, we are getting new data from `poll()` for all partitions/tasks which 
are not revoked, and we keep processing. So if we commit, we would also need to 
ensure to not process data and not open a new TX? – However, it seems to defeat 
the purpose of incremental rebalancing to stop processing during a rebalance?

Especially with KIP-1071, it seems the handler should just tell the SU what to 
do, and whenever the SU is ready, we would updates some later HB response with 
the reconciliation update?

> StreamThread blocks on StateUpdater during onAssignment()
> ---------------------------------------------------------
>
>                 Key: KAFKA-19853
>                 URL: https://issues.apache.org/jira/browse/KAFKA-19853
>             Project: Kafka
>          Issue Type: Bug
>          Components: streams
>    Affects Versions: 3.9.0
>            Reporter: Colt McNealy
>            Priority: Major
>         Attachments: image (3).png, image (4).png, image (5).png
>
>
> We've observed that the `StreamThread` blocks waiting for a `Future` from the 
> `StateUpdater` in the `StreamsPartitionAssigner#onAssignment()` method when 
> we are moving a task out of the `StateUpdater` and onto the `StreamThread`.
>  
> This can cause problems because, during restoration or with warmup replicas, 
> the `StateUpdater#runOnce()` method can take a long time (upwards of 20 
> seconds) when RocksDB stalls writes to allow compaction to keep up. In EOS 
> this blockage may cause the transaction to time out, which is a big mess. 
> This is because the `StreamThread` may have an open transaction before the 
> `StreamsPartitionAssignor#onAssignment()` method is called.
>  
> Some screenshots from the JFR below (credit to [~eduwerc]).



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

Reply via email to