Copilot commented on code in PR #7911: URL: https://github.com/apache/hbase/pull/7911#discussion_r2922103668
########## hbase-website/app/pages/_docs/docs/_mdx/(multi-page)/architecture/regionserver.mdx: ########## @@ -428,6 +428,15 @@ Although splitting the region is a local decision made by the RegionServer, the 10. The RegionServer updates znode `/hbase/region-in-transition/region-name` in ZooKeeper to state `SPLIT`, so that the master can learn about it. The balancer can freely re-assign the daughter regions to other region servers if necessary. **THE SPLIT TRANSACTION IS NOW FINISHED.** 11. After the split, `.META.` and HDFS will still contain references to the parent region. Those references will be removed when compactions in daughter regions rewrite the data files. Garbage collection tasks in the master periodically check whether the daughter regions still refer to the parent region's files. If not, the parent region will be removed. +### Note on split directory behavior (HBASE-26187) + +<Callout type="info" title="Behavior change in newer split implementation"> + The numbered split procedure above contains legacy wording that mentions a `.splits` sub-directory under the parent region directory. + In newer implementations, [HBASE-26187](https://issues.apache.org/jira/browse/HBASE-26187) changed this behavior: + daughter region directories are created directly under the table directory, rather than under a parent-region `.splits` directory. + This update does not change the high-level split semantics (references, meta updates, and online transition of daughters), but it changes where temporary/initial daughter files are prepared in HDFS. Review Comment: This note says the numbered split procedure above contains legacy wording about a `.splits` directory, but the procedure itself still describes creating/using `.splits` (steps 3/5). To avoid readers following an inaccurate step-by-step flow, consider updating the numbered steps to match the post-HBASE-26187 behavior, or explicitly scoping the numbered procedure to the older implementation and stating which HBase versions/releases the new behavior applies to. ```suggestion The numbered split procedure above documents the original, pre-HBASE-26187 implementation, in which daughter regions are first created under a `.splits` sub-directory of the parent region directory. In newer HBase implementations that include [HBASE-26187](https://issues.apache.org/jira/browse/HBASE-26187), this on-disk layout has changed: daughter region directories are created directly under the table directory, rather than under a parent-region `.splits` directory. When reading the numbered procedure for such newer versions, interpret any steps that mention creating or using a `.splits` directory as instead preparing and promoting daughter region files directly under the table directory. This update does not change the high-level split semantics (references, meta updates, and online transition of daughters); it only affects where temporary/initial daughter files are prepared in HDFS. ``` ########## hbase-website/app/pages/_docs/docs/_mdx/(multi-page)/architecture/regionserver.mdx: ########## @@ -428,6 +428,15 @@ Although splitting the region is a local decision made by the RegionServer, the 10. The RegionServer updates znode `/hbase/region-in-transition/region-name` in ZooKeeper to state `SPLIT`, so that the master can learn about it. The balancer can freely re-assign the daughter regions to other region servers if necessary. **THE SPLIT TRANSACTION IS NOW FINISHED.** 11. After the split, `.META.` and HDFS will still contain references to the parent region. Those references will be removed when compactions in daughter regions rewrite the data files. Garbage collection tasks in the master periodically check whether the daughter regions still refer to the parent region's files. If not, the parent region will be removed. +### Note on split directory behavior (HBASE-26187) + +<Callout type="info" title="Behavior change in newer split implementation"> + The numbered split procedure above contains legacy wording that mentions a `.splits` sub-directory under the parent region directory. + In newer implementations, [HBASE-26187](https://issues.apache.org/jira/browse/HBASE-26187) changed this behavior: + daughter region directories are created directly under the table directory, rather than under a parent-region `.splits` directory. Review Comment: Minor wording/grammar: after the colon, start the next sentence with a capital letter ("Daughter region directories...") and consider avoiding the hyphenated "parent-region" phrasing ("parent region’s `.splits` directory" reads more naturally). ```suggestion Daughter region directories are created directly under the table directory, rather than under a parent region's `.splits` directory. ``` -- 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]
