Rangsh commented on issue #12063:
URL: https://github.com/apache/seatunnel/issues/12063#issuecomment-5570995729

   Thanks @DanielLeens @SEZ9 @nzw921rx for the guidance.
   
   I followed the investigation-first order and traced the reported variance 
mainly to the shared growth **benchmark fixture**, not to IMap failing to reset 
between iterations:
   
   1. Iteration tear-down previously ran `evict` + `FileMapStore.loadAll`, and 
`loadAll` replays the entire append-only WAL, so GC / page-cache cost grew 
across SingleShot samples and inflated CV.
   2. Growth batches reused fixed keys every iteration (unlike the transition / 
DAG fixtures).
   3. On the completed path, `JobHistoryService.storeFinishedPipelineMetrics` 
issued two write-through MapStore writes (`computeIfAbsent` + `put`) for a 
newly finished job.
   
   Focused PR: https://github.com/apache/seatunnel/pull/12173
   
   What it changes:
   - Fixture: unique growth keys per iteration; resident checks stay in 
iteration tear-down; durable MapStore reload sample moved to trial tear-down.
   - Production: single TTL `put` after in-memory metrics merge (durability / 
TTL semantics unchanged).
   - Unit coverage for the finished-metrics write path.
   
   Local JMH smoke (`initialStoredJobCount=0`, forks=3, warmup=3, 
measurement=5) is attached in the PR. Absolute local scores are not comparable 
to the GitHub Actions baseline in this issue; I will follow up with same-runner 
before/after (including `initialStoredJobCount=1000`) via Benchmarks 
Diagnostics where needed.
   
   Please take a look when you have time. Happy to iterate on evidence or scope.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to