Hi, I proposed an issue to use HFileLink file when splitting in HBASE-26421 Use HFileLink file to replace entire file‘s reference when splitting <https://issues.apache.org/jira/browse/HBASE-26421>. Because the HFileLink files can be used when the Reference file refers to the entire HFile. Now I want to use HFileLink in split as default, let it be a normal behavior.
By using HFileLink file, there is no need to use HalfStoreFileReader to read the jHile. And the HFileLink file is splitable, while Reference is not. There are also long-term benefits, we can make the first compaction after split can be a minor compaction instead of old major compaction, because only reference files should be compacted before the next split. (In HBASE-26422, I described the compaction after splitting using HFileLink.) It also makes move HFiles between regions of the same table possible. Then the compaction is light weight, since it need not to read and rewrite the referred files. And this idea can also be used in region merge. Hope to hear from you soon. Please let me know if you have any questions or concerns. Regards, Xiaolin Ha