Serge Huber created UNOMI-970:
---------------------------------
Summary: IT ProgressListener ETA: use live suite pace with
historical hints
Key: UNOMI-970
URL: https://issues.apache.org/jira/browse/UNOMI-970
Project: Apache Unomi
Issue Type: Improvement
Components: unomi(-core)
Affects Versions: unomi-3.1.0
Reporter: Serge Huber
Assignee: Serge Huber
Fix For: unomi-3.1.0
h2. Summary
Integration-test ProgressListener ETA chronically underestimates remaining time
(often by a large factor) after early fast tests or Assume skips.
h2. Problem
The per-provider {{TestTimingCache}} ETA summed remaining historical durations
and scaled them by {{observed/cached}}, clamped to {{[0.25, 4.0]}}.
Early assumes/skips and tiny tests finish far under cache, so the scale hits
{{MIN_SCALE=0.25}} and stays there. Remaining work is then reported as ~0.25 ×
historical sum even when later tests still take near-full historical time.
Observed on PostgreSQL AllITs (~307 tests): at ~52/307 the UI showed ~4m
remaining while wall-clock pace implied ~18m.
h2. Proposed fix
* Re-evaluate ETA from *live suite pace*: {{remaining × (elapsed / completed)}}
after every test.
* Use historical per-test durations only as *hints* that reweight remaining
work when leftover tests are historically heavier/lighter than the suite
average.
* Do not shrink remaining history with a global “faster than cache” scale (that
caused the chronic underestimates).
* If substantive tests are *slower* than cache, remaining ETA may still be
raised.
* Ignore assume-like observed/cached pairs when computing scale helpers.
h2. Relates to
* UNOMI-912 (original ProgressListener / ETA)
* UNOMI-968 (per-provider timing cache landed with pluggable IT harness)
h2. Acceptance criteria
* Unit tests cover live-pace ETA and that skip-poisoned {{MIN_SCALE}} collapse
no longer drives remaining time.
* README documents that ETA is live-pace-first with historical hints.
* Manual: a full AllITs run shows ETA tracking wall-clock progress rather than
freezing ~4m early in the suite.
```
--
This message was sent by Atlassian Jira
(v8.20.10#820010)