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

Lianet Magrans updated KAFKA-15832:
-----------------------------------
    Description: 
Currently the reconciliation logic on the client is triggered when a new target 
assignment is received and resolved, or when new unresolved target assignments 
are discovered in metadata.

This could be improved by triggering the reconciliation logic on each poll 
iteration, to reconcile whatever is ready to be reconciled. This would required 
changes to support poll on the MembershipManager, and integrate it with the 
current polling logic in the background thread.

As a result of this task, it should be ensured that the client always 
reconciles whatever it has pending that has not been removed by the 
coordinator. (This should address edge cases where a client might get stuck 
JOINING/RECONCILING, with a pending reconciliation, where null assignments are 
exchanged between the client and the coordinator, while the long-running 
reconciliation completes) 

  was:
Currently the reconciliation logic on the client is triggered when a new target 
assignment is received and resolved, or when new unresolved target assignments 
are discovered in metadata.

This could be improved by triggering the reconciliation logic on each poll 
iteration, to reconcile whatever is ready to be reconciled. This would required 
changes to support poll on the MembershipManager, and integrate it with the 
current polling logic in the background thread.

As a result of this task, it should be ensured that the client always makes 
progress (not stuck with pending reconciliations in JOINING or RECONCILING), 
considering edge cases where the client could have an assignment ready to 
reconcile, but continue to receive null assignments from the coordinator 
indicating that nothing has changed from the last assignment sent.


> Trigger client reconciliation based on manager poll
> ---------------------------------------------------
>
>                 Key: KAFKA-15832
>                 URL: https://issues.apache.org/jira/browse/KAFKA-15832
>             Project: Kafka
>          Issue Type: Improvement
>          Components: clients, consumer
>            Reporter: Lianet Magrans
>            Assignee: Lianet Magrans
>            Priority: Major
>              Labels: kip-848, kip-848-client-support, kip-848-e2e, 
> kip-848-preview
>             Fix For: 3.8.0
>
>
> Currently the reconciliation logic on the client is triggered when a new 
> target assignment is received and resolved, or when new unresolved target 
> assignments are discovered in metadata.
> This could be improved by triggering the reconciliation logic on each poll 
> iteration, to reconcile whatever is ready to be reconciled. This would 
> required changes to support poll on the MembershipManager, and integrate it 
> with the current polling logic in the background thread.
> As a result of this task, it should be ensured that the client always 
> reconciles whatever it has pending that has not been removed by the 
> coordinator. (This should address edge cases where a client might get stuck 
> JOINING/RECONCILING, with a pending reconciliation, where null assignments 
> are exchanged between the client and the coordinator, while the long-running 
> reconciliation completes) 



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

Reply via email to