[
https://issues.apache.org/jira/browse/FLINK-41061?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ASF GitHub Bot updated FLINK-41061:
-----------------------------------
Labels: pull-request-available (was: )
> Daily benchmark keeps failing because of excessive runtime of the adaptive
> partition benchmark
> ----------------------------------------------------------------------------------------------
>
> Key: FLINK-41061
> URL: https://issues.apache.org/jira/browse/FLINK-41061
> Project: Flink
> Issue Type: Bug
> Components: Benchmarks
> Reporter: Han Yin
> Priority: Major
> Labels: pull-request-available
> Attachments: flink-main-benchmarks #9173 Console [Jenkins].html
>
>
> {{AdaptivePartitionThroughputBenchmark.mapRebalanceMapRescaleMapSink}}
> introduces processing skew by sleeping for *1 ms per record* in some subtasks
> of the downstream Map operators.
> This makes individual benchmark invocations take tens to hundreds of seconds.
> With *3 forks × (10 warmup + 10 measurement iterations)* for each of the four
> parameter combinations, the accumulated runtime is excessive.
> In Jenkins build {*}#9173{*}(as attached below), this benchmark ran for *5h
> 45m* and was still executing when the pipeline reached its {*}6-hour
> timeout{*}.
> Local testing of the introduction-era version also reproduced long
> invocations, so this is {*}not a confirmed recent Flink regression{*}.
> h3. Proposed change
> Sleep for {*}1 ms every 100 records{*}, rather than every record, using an
> independent counter in each slow operator instance.
> Keep the existing data volume, parallelism, topology and checkpoint
> configuration unchanged. Therefore we can retain artificial processing skew
> but accelerate the whole process.
> h3. Local validation
> Tested with Flink {{{}855597a{}}}, benchmark {{{}123532a{}}}, macOS ARM64 and
> JDK 11.0.26.
> With {*}1 fork, no warmup and 1 measurement iteration{*}, average invocation
> times were
> ||Adaptive partitioner||Max traverse size||Sleep every record||Sleep every
> 100 records||
> |Disabled|2|220.0 s|2.38 s|
> |Enabled|2|58.2 s|1.10 s|
> |Enabled|6|39.6 s|0.74 s|
>
> Additional testing with *1 warmup and 3 measurement iterations* showed
> * Disabled: *1.94–2.03 s*
> * Enabled, traverse size 2: *0.56–0.64 s*
> * Enabled, traverse size 6: *0.38–0.41 s*
> All runs completed successfully. The reduced sleep frequency substantially
> shortened execution while retaining an observable benefit from adaptive
> partition selection.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)