suryaprasanna opened a new pull request, #17859:
URL: https://github.com/apache/hudi/pull/17859
### Describe the issue this Pull Request addresses
This PR fixes an issue where `HoodieROTablePathFilter` could fail when using
time travel queries in the presence of inflight commits. The root cause was
that the filter would construct its own timeline view independently, which
could be inconsistent with the timeline view used by the caller (e.g.,
`HoodieFileIndex`).
The fix introduces a new constructor that accepts a pre-computed
`HoodieTimeline`, enabling the caller to pass a consistent timeline view and
avoid redundant timeline construction and potential time travel validation
failures.
### Summary and Changelog
Users gain more reliable time travel query behavior when inflight commits
exist in the timeline.
**Changes:**
- Added new `HoodieROTablePathFilter` constructor accepting
`HoodieTableMetaClient` and `HoodieTimeline` parameters
- Added `completedTimelineCache` to cache completed timelines per base path
- Modified timeline lookup to check cache before constructing new timeline
from metaClient
- Updated `FileSystemViewManager` calls to use
`createInMemoryFileSystemViewWithTimeline` consistently
- Added comprehensive tests covering time travel scenarios with inflight
commits
### Impact
**Public API Changes:**
- New public constructor: `HoodieROTablePathFilter(Configuration,
HoodieTableMetaClient, HoodieTimeline)`
**User-Facing Changes:**
Improved reliability for time travel queries when inflight commits are
present in the timeline.
### Risk Level
**Low** - This is an additive change. The existing constructor remains
unchanged and maintains backward compatibility. The new constructor enables
better timeline synchronization between components.
Tests verify both the existing behavior and the new timeline caching
functionality.
### Documentation Update
none
### Contributor's checklist
- [x] Read through [contributor's
guide](https://hudi.apache.org/contribute/how-to-contribute)
- [x] Enough context is provided in the sections above
- [x] Adequate tests were added if applicable
--
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]