hemanthsavasere opened a new pull request, #2872:
URL: https://github.com/apache/fluss/pull/2872
Linked issue: close #2867
The `testLogTableCompaction` test in `IcebergRewriteITCase` was flaky due to
two root causes:
1. **Indefinite blocking**: `IcebergLakeWriter.complete()` called
`compactionFuture.get()` without a timeout, which could block indefinitely if
the async compaction was slow or stuck.
2. **Tight assertions**: After triggering a write+compaction, the test
immediately called `checkFileStatusInIcebergTable()` without any retry, causing
it to fail if the compaction commit had not yet been applied.
### Brief change log
- **`IcebergLakeWriter`**: Added a 5-minute timeout
(`COMPACTION_TIMEOUT_SECONDS = 300`) to `compactionFuture.get()`. On timeout,
logs a warning and cancels the future rather than hanging indefinitely.
- **`IcebergRewriteITCase`**: Updated `testLogTableCompaction` to use a
2-minute `assertReplicaStatus` timeout (via a new overload) when waiting for
the write+compaction round to complete, and switched to
`waitForFileStatusInIcebergTable()` which retries the file-count assertion.
- **`FlinkIcebergTieringTestBase`**: Added two helper methods:
- `assertReplicaStatus(TableBucket, long, Duration)` — timeout-aware
overload of the existing method.
- `waitForFileStatusInIcebergTable(TablePath, int, boolean)` — wraps
`checkFileStatusInIcebergTable` in a 2-minute retry loop.
- **`deploying-with-helm.md`**: Reformatted markdown tables for column
alignment (cosmetic only, no content change).
### Tests
- `IcebergRewriteITCase#testLogTableCompaction` — the flaky test itself; now
uses retry-based assertions and a longer timeout to tolerate compaction latency.
### API and Format
No API or storage format changes.
### Documentation
No new features introduced; this is a stability fix. The Helm docs change is
cosmetic table reformatting only.
--
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]