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]
