924060929 opened a new pull request, #68577:
URL: https://github.com/apache/doris/pull/68577
### What problem does this PR solve?
Issue Number: None
Related PR: #68575 (the same branch-4.1 fix)
Problem Summary: Two Hive partition tables can share a partition location.
On branch-4.2, the partition file-list cache key uses the catalog, location,
and partition values, but omits the table ID. `REFRESH TABLE` invalidates
file-list entries by table ID. If table a loads the old listing, table b can
hit it after writing a new file and refreshing b, so the scan omits the new
file and returns incomplete results. Include the table ID in the cache key's
equality and hash code so each table loads and invalidates its own listing.
The FE unit test uses the same catalog, location, format, and partition
value for a and b. It verifies that b cannot reuse a's cached value, both
entries coexist, and refreshing b removes only b's entry.
### Release note
Fix missing rows after refreshing a Hive table that shares a partition
location with another table.
### Check List (For Author)
- Test
- [ ] Regression test
- [x] Unit Test: `HiveMetaStoreCacheTest` (13 tests passed on branch-4.2)
- [ ] Manual test
- [ ] No need to test or manual test
- FE Checkstyle: 0 violations.
- Local full FE build was not completed because this isolated worktree
lacked the complete thirdparty installation; `run buildall` is requested on
this PR.
- Behavior changed:
- [ ] No.
- [x] Yes. `REFRESH TABLE` reloads the current Hive table's file listing
even when another table shares its partition location.
- Does this need documentation?
- [x] No.
- [ ] Yes.
### Check List (For Reviewer who merge this PR)
- [ ] Confirm the release note
- [ ] Confirm test cases
- [ ] Confirm document
- [ ] Add branch pick label
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]