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

Eric Chang updated KAFKA-20838:
-------------------------------
    Description: 
IQv2StoreIntegrationTest has 280 parameterized cases and takes about 918 
seconds (~15m19s) in CI. Logs repeatedly report:

{code}
Assignment delayed due to the configured initial rebalance delay.
{code}

Each invocation starts exactly one KafkaStreams instance with 
num.stream.threads=1. It does not add stream threads or start another instance 
with the same application.id, and every invocation uses a distinct 
application.id. Restore and global consumers are not application-group members. 
Therefore, each affected Streams group has one member.

The suite covers stores, DSL/PAPI, caching, logging, headers, and both group 
protocols. It validates IQv2 store/query behavior, not initial group formation, 
so the delay only adds idle time.

h3. Proposed change

* Set group.streams.initial.rebalance.delay.ms=0 on this test's embedded broker.
* Preserve the full 280-case matrix.

h3. Local JDK 21 results

* Baseline: 953.808s; 280 passed; 216 delay warnings.
* Modified: 679.107s; 280 passed; no delay warnings; 28.8% faster.
* Modified rerun: 668.169s; 280 passed; no delay warnings; 30.0% faster.

  was:
IQv2StoreIntegrationTest has 280 parameterized cases and currently takes about 
918 seconds (~15m19s) in CI.

Measurements show that the 108 non-global cases using the Streams group 
protocol take ~698.6s, while their matched classic-protocol cases take ~154.0s. 
Logs repeatedly report:

{code}
Assignment delayed due to the configured initial rebalance delay.
{code}

Each parameterized case starts a single client with a unique application.id. 
This test validates IQv2 store/query behavior; it does not test cold-start or 
rebalance timing.

Proposed change:
* Configure the embedded broker for this test with 
group.streams.initial.rebalance.delay.ms=0.
* Preserve the full parameter matrix.
* A/B benchmark the class and rerun the relevant integration tests to validate 
behavior.

h3. Local A/B results (JDK 21)

* Baseline: JUnit suite 953.808s; 280/280 passed; 216 initial-delay warnings.
* Patched run 1: 679.107s; 280/280 passed; 0 warnings; 28.8% faster.
* Patched rerun: 668.169s; 280/280 passed; 0 warnings; 30.0% faster.
* Average patched reduction: about 29.4%.

The repeatable savings and zero warnings confirm that the test-only 
configuration removes the unnecessary delay while the full 280-case parameter 
matrix remains exercised.


> Reduce IQv2StoreIntegrationTest runtime by disabling test-only Streams 
> initial rebalance delay
> ----------------------------------------------------------------------------------------------
>
>                 Key: KAFKA-20838
>                 URL: https://issues.apache.org/jira/browse/KAFKA-20838
>             Project: Kafka
>          Issue Type: Improvement
>          Components: streams
>            Reporter: Eric Chang
>            Assignee: Eric Chang
>            Priority: Major
>
> IQv2StoreIntegrationTest has 280 parameterized cases and takes about 918 
> seconds (~15m19s) in CI. Logs repeatedly report:
> {code}
> Assignment delayed due to the configured initial rebalance delay.
> {code}
> Each invocation starts exactly one KafkaStreams instance with 
> num.stream.threads=1. It does not add stream threads or start another 
> instance with the same application.id, and every invocation uses a distinct 
> application.id. Restore and global consumers are not application-group 
> members. Therefore, each affected Streams group has one member.
> The suite covers stores, DSL/PAPI, caching, logging, headers, and both group 
> protocols. It validates IQv2 store/query behavior, not initial group 
> formation, so the delay only adds idle time.
> h3. Proposed change
> * Set group.streams.initial.rebalance.delay.ms=0 on this test's embedded 
> broker.
> * Preserve the full 280-case matrix.
> h3. Local JDK 21 results
> * Baseline: 953.808s; 280 passed; 216 delay warnings.
> * Modified: 679.107s; 280 passed; no delay warnings; 28.8% faster.
> * Modified rerun: 668.169s; 280 passed; no delay warnings; 30.0% faster.



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

Reply via email to