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]

Reply via email to