Uh oh!
There was an error while loading. Please reload this page.
HBASE-28654 Support only remove expired files in the compact process - #6008
HBASE-28654 Support only remove expired files in the compact process#6008wangxin97-02 wants to merge 1 commit into
Conversation
Apache-HBase
commented
Jun 20, 2024
💔 -1 overall
This message was automatically generated. |
Apache-HBase
commented
Jun 20, 2024
🎊 +1 overall
This message was automatically generated. |
Apache-HBase
commented
Jun 20, 2024
🎊 +1 overall
This message was automatically generated. |
Apache-HBase
commented
Jun 20, 2024
💔 -1 overall
This message was automatically generated. |
Apache9
commented
Aug 13, 2024
I prefer we change the config name to something like 'compaction.skip-merging-compact', to indicate that this config is used to skip the real compaction operation. As even if we set this config to true, there are still other options which could make us not remove expired files, such as 'hbase.store.delete.expired.storefile'. We should carefully document these behaviors. |
Apache9
commented
Aug 13, 2024
You can also send a discuss email to dev list, to see if there are better names for this config, since I'm not a native English speaker... |
cd969e0 to
a9f756bComparewangxin97-02
commented
Sep 4, 2024
OK. I have changed and add logs for the config 'hbase.store.delete.expired.storefile' is false. |
Apache-HBase
commented
Sep 4, 2024
🎊 +1 overall
This message was automatically generated. |
Apache-HBase
commented
Sep 4, 2024
🎊 +1 overall
This message was automatically generated. |
| * true. If flag is false then do normal compactions. | ||
| * @return true if table compaction only remove expired file, skipping merge files. | ||
| */ | ||
| boolean isSkipMergingCompaction(); |
There was a problem hiding this comment.
shouldSkipMergingCompaction make more sense to me over isSkipMergingCompaction
| if (this.region.getTableDescriptor().isSkipMergingCompaction()) { | ||
| if (!conf.getBoolean("hbase.store.delete.expired.storefile", true)) { | ||
| LOG.info("Because the conf of hbase.store.delete.expired.storefile is false, so the table " |
There was a problem hiding this comment.
Can we rephrase as "Since config 'hbase.store.delete.expired.storefile' is set to false, ignoring SKIP_MERGING_COMPACTION set at table level"
| private static final Bytes COMPACTION_ENABLED_KEY = new Bytes(Bytes.toBytes(COMPACTION_ENABLED)); | ||
| /** | ||
| * Used by HBase Shell interface to access this metadata attribute which denotes if the table |
There was a problem hiding this comment.
Are we planning to expose this via shell as another commit?
There was a problem hiding this comment.
Now, we can use shell to change the table description with SKIP_MERGING_COMPACTION.
alter 'tableName',CONFIGURATION => {'SKIP_MERGING_COMPACTION' => 'true'}
| removeUnneededFiles(); | ||
| if (this.region.getTableDescriptor().isSkipMergingCompaction()) { | ||
| if (!conf.getBoolean("hbase.store.delete.expired.storefile", true)) { |
There was a problem hiding this comment.
Also could you refactor 'hbase.store.delete.expired.storefile' into a variable along with its default value? I see only one usage of this in the code base, apart from testcode.
There was a problem hiding this comment.
Also could you refactor 'hbase.store.delete.expired.storefile' into a variable along with its default value? I see only one usage of this in the code base, apart from testcode.
I have changed based on your suggestion. Please review again when you have time.
a9f756b to
80c7b26Compare80c7b26 to
4665a54CompareApache-HBase
commented
Sep 5, 2024
🎊 +1 overall
This message was automatically generated. |
Apache-HBase
commented
Sep 5, 2024
💔 -1 overall
This message was automatically generated. |
https://issues.apache.org/jira/browse/HBASE-28654