Fix correctness gap in NoSQL hasOverlappingSiblings for parent locations#4873
Fix correctness gap in NoSQL hasOverlappingSiblings for parent locations#4873vigneshio wants to merge 1 commit into
Conversation
|
This looks like the right fix for the NoSQL index lookup itself. One non-blocking test suggestion: could we add an end-to-end/service-level test with |
Thnks @snazy .. I Added parent/child overlap assertions to the existing OPTIMIZED_SIBLING_CHECK=true test and a dedicated testParentChildOverlapWithOptimizedSiblingCheck that goes through the catalog + flag.. |
|
Thanks for adding the service-level coverage. One concern: I don't think the new test actually exercises the NoSQL implementation changed in this PR. So this does cover the For this PR, I think the useful end-to-end regression would need to run the same create-table/create-namespace path with a NoSQL-backed test profile, for example using the existing NoSQL in-memory profile/config. Otherwise the direct |
@snazy correct 💯 - IcebergOverlappingTableTest uses the transactional in-memory backend, so it doesn't cover NoSqlMetaStore. Now Added |
|
Thanks, LGTM |
c7d309c to
59b9190
Compare
59b9190 to
f6c4bde
Compare
Summary
Fix correctness gap in
NoSqlMetaStore.hasOverlappingSiblingsso parent namespace location overlaps are now properly detected (matching the JDBC implementation).Why this is needed
The NoSQL version only started the locations index iterator at the target key and only inspected the first result. Because of NUL-separated key ordering, parent locations were completely skipped. This could silently bypass the
OPTIMIZED_SIBLING_CHECKvalidation.Changes
Checklist
site/content/in-dev/unreleased(if needed): N/A