Skip to content

HBASE-25972 Dual File Compaction - #5545

Merged
apurtell merged 27 commits into
apache:masterfrom
kadirozde:25972
May 17, 2024
Merged

HBASE-25972 Dual File Compaction#5545
apurtell merged 27 commits into
apache:masterfrom
kadirozde:25972

Conversation

@kadirozde

Copy link
Copy Markdown
Contributor

@virajjasani
virajjasani self-requested a review November 29, 2023 02:32
@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 36sDocker mode activated.
-0 ⚠️yetus0m 4sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+1 💚mvninstall2m 37smaster passed
+1 💚compile0m 42smaster passed
+1 💚shadedjars4m 48sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 24smaster passed
_ Patch Compile Tests _
+1 💚mvninstall2m 22sthe patch passed
+1 💚compile0m 40sthe patch passed
+1 💚javac0m 40sthe patch passed
+1 💚shadedjars4m 43spatch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 23shbase-server generated 1 new + 22 unchanged - 0 fixed = 23 total (was 22)
_ Other Tests _
+1 💚unit287m 18shbase-server in the patch passed.
309m 30s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/1/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#5545
Optional Testsjavac javadoc unit shadedjars compile
unameLinux c375f9c58772 5.4.0-163-generic #180-Ubuntu SMP Tue Sep 5 13:21:23 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / dbfb516
Default JavaTemurin-1.8.0_352-b08
javadochttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/1/artifact/yetus-jdk8-hadoop3-check/output/diff-javadoc-javadoc-hbase-server.txt
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/1/testReport/
Max. process+thread count3993 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/1/console
versionsgit=2.34.1 maven=3.8.6
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

* older put cells and delete markers).
*/
@InterfaceAudience.Private
public class DualFileStoreEngine extends StoreEngine<DefaultStoreFlusher,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can't we extend DefaultStoreEngine instead? There are few methods that are getting duplicated (entirely or partially) from there (needsCompaction, createComponents, createCompactor).

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried it but it did not work. The signature of the class requires DefaultCompactor. This means I need to extend DefaultCompactor to implement DualFileCompactor. However, DefaultCompactor supports only StoreFileWriter, a single file writer. So I ended up with a new engine.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are all IA.Private classes, you could do a small refactor to make it work?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or perhaps its fine as is because it would be great to get this ported till 2.5 release line?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Like @bbeaudreault explained. We can avoid code duplication with a little refactoring on DefaultStoreEngine. As we would already need to change it a bit to avoid code duplication anyways.

Or perhaps its fine as is because it would be great to get this ported till 2.5 release line?

We may allow that on the brackport for 2.5 only, but I don't think this would justify adding such technical debit in master branch.

@kadirozdekadirozdeDec 1, 2023

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am still trying but I could not find a good solution yet. The reason is that DefaultCompactor is a single file writer compactor and DualFileCompactor is a multi file writer as DateTierCompactor and StripeCompactor. Both DateTierStoreEngine and StripeStoreEngine do not inherit from DefaultStoreEngine. That is why I think DualFileStoreEngine should not inherit from DefaultStoreEngine.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In order to reduce code duplication, I refactored StoreEngine instead.

@apurtellapurtellDec 5, 2023

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it possible to refactor this so DefaultCompactor becomes a dual file compactor that only compacts a single file? Can we try that instead? I do not think we need a new Store Engine for this. That introduces some configuration trouble for operators. Ideally operators do not need to change their store engine in order to take advantage of this and other improvements that are generally applicable and are in other respects backwards compatible.

Related comment on design doc: https://docs.google.com/document/d/1Ea42tEBh2X2fCq0_tXSe1BgEqBz58oswJULEbA8-MfI/edit?disco=AAABAgKl--o

HAS_LATEST_VERSION handling could be introduced into the default store engine and compatibility is assured given how you handle HFiles that lack this metadata. Also older versions that don't know about and ignore HAS_LATEST_VERSION will also function correctly because all HFiles will be examined as before.
It seems that we can incrementally upgrade or downgrade from a store engine that understands HAS_LATEST_VERSION and one that does not, unless I am missing something, which is certainly possible. Is my understanding correct? If so I am wondering if we really need a new StoreEngine implementation.

@apurtellapurtellDec 5, 2023

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DualFileCompactor is a multi file writer as DateTierCompactor and StripeCompactor. Both DateTierStoreEngine and StripeStoreEngine do not inherit from DefaultStoreEngine

StoreEngine and related interfaces have evolved organically and the current state is maybe not ideal.

If we take the above approach, to refactor the default compactor interface, perhaps these called out compactors and engines can be refactored to take a cleaner approach (imho). If we look at the pattern that other recent refactors have taken there might be cause to consolidate common logic into an abstract class named appropriately and have the store engines inherit from that. This could be follow up work. Not asking for this work to be performed for this PR.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please see the updated version where I refactored the existing code without introducing a new compactor or store engine.

boolean succ = false;
try {
for (int i = 0, n = files.size(); i < n; i++) {
for (int i = 0, n = files.size(); i < n && !sortedFiles.isEmpty(); i++) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we really need this extra check?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, because we skip the files with older cell versions and delete markers for the regular scans with max versions = 1.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Then iterate the sortedFiles directly. What happens if sortedFiles is not empty, but files > sortedFiles? Won't you get a NPE on lines #153/155?

@kadirozdekadirozdeDec 1, 2023

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did not want to iterate over over sorted files for the same reason the existing code does not iterate over sorted files since sorted files are modified within the loop. I do not see the NPE issue here.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I eliminated the extra check.

@@ -135,11 +136,17 @@ public static List<StoreFileScanner> getScannersForStoreFiles(Collection<HStoreF
for (HStoreFile file : files) {
// The sort function needs metadata so we need to open reader first before sorting the list.
file.initReader();

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if we could have a DualStoreFileManager as well. That way, we could already keep separate list of store files there and it would contain the logic about which files should be returned for the scanner. It would also avoid us from having to open a reader on files we may not be interested.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good suggestion! I will add DualStoreFileManager.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec2m 15sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 0sThe patch does not contain any @author tags.
_ master Compile Tests _
+1 💚mvninstall2m 58smaster passed
+1 💚compile2m 25smaster passed
+1 💚checkstyle0m 34smaster passed
+1 💚spotless0m 40sbranch has no errors when running spotless:check.
+1 💚spotbugs1m 26smaster passed
_ Patch Compile Tests _
+1 💚mvninstall3m 19sthe patch passed
+1 💚compile2m 57sthe patch passed
+1 💚javac2m 57sthe patch passed
-0 ⚠️checkstyle0m 41shbase-server: The patch generated 7 new + 37 unchanged - 0 fixed = 44 total (was 37)
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck10m 21sPatch does not cause any errors with Hadoop 3.2.4 3.3.6.
-1 ❌spotless0m 36spatch has 64 errors when running spotless:check, run spotless:apply to fix.
+1 💚spotbugs1m 32sthe patch passed
_ Other Tests _
+1 💚asflicense0m 10sThe patch does not generate ASF License warnings.
36m 11s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/2/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#5545
Optional Testsdupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile
unameLinux 9497c498a0d4 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 7dd4d0c
Default JavaEclipse Adoptium-11.0.17+8
checkstylehttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/2/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt
spotlesshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/2/artifact/yetus-general-check/output/patch-spotless.txt
Max. process+thread count82 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/2/console
versionsgit=2.34.1 maven=3.8.6 spotbugs=4.7.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec2m 20sDocker mode activated.
-0 ⚠️yetus0m 2sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+1 💚mvninstall3m 1smaster passed
+1 💚compile0m 48smaster passed
+1 💚shadedjars5m 16sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 23smaster passed
_ Patch Compile Tests _
+1 💚mvninstall2m 39sthe patch passed
+1 💚compile0m 45sthe patch passed
+1 💚javac0m 45sthe patch passed
+1 💚shadedjars5m 8spatch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 22shbase-server generated 1 new + 95 unchanged - 0 fixed = 96 total (was 95)
_ Other Tests _
+1 💚unit213m 50shbase-server in the patch passed.
238m 27s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/2/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#5545
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 183e1e05e5f5 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 7dd4d0c
Default JavaEclipse Adoptium-11.0.17+8
javadochttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/2/artifact/yetus-jdk11-hadoop3-check/output/diff-javadoc-javadoc-hbase-server.txt
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/2/testReport/
Max. process+thread count4700 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/2/console
versionsgit=2.34.1 maven=3.8.6
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 41sDocker mode activated.
-0 ⚠️yetus0m 3sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+1 💚mvninstall2m 21smaster passed
+1 💚compile0m 41smaster passed
+1 💚shadedjars4m 49sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 25smaster passed
_ Patch Compile Tests _
+1 💚mvninstall2m 23sthe patch passed
+1 💚compile0m 40sthe patch passed
+1 💚javac0m 40sthe patch passed
+1 💚shadedjars4m 42spatch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 23shbase-server generated 1 new + 22 unchanged - 0 fixed = 23 total (was 22)
_ Other Tests _
-1 ❌unit232m 11shbase-server in the patch failed.
253m 38s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/2/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#5545
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 0fe3f9c736f5 5.4.0-163-generic #180-Ubuntu SMP Tue Sep 5 13:21:23 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 7dd4d0c
Default JavaTemurin-1.8.0_352-b08
javadochttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/2/artifact/yetus-jdk8-hadoop3-check/output/diff-javadoc-javadoc-hbase-server.txt
unithttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/2/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-hbase-server.txt
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/2/testReport/
Max. process+thread count4133 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/2/console
versionsgit=2.34.1 maven=3.8.6
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 32sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 0sThe patch does not contain any @author tags.
_ master Compile Tests _
+1 💚mvninstall3m 47smaster passed
+1 💚compile2m 59smaster passed
+1 💚checkstyle0m 35smaster passed
+1 💚spotless0m 42sbranch has no errors when running spotless:check.
+1 💚spotbugs1m 23smaster passed
_ Patch Compile Tests _
+1 💚mvninstall2m 37sthe patch passed
+1 💚compile2m 24sthe patch passed
+1 💚javac2m 24sthe patch passed
-0 ⚠️checkstyle0m 34shbase-server: The patch generated 7 new + 37 unchanged - 0 fixed = 44 total (was 37)
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck9m 45sPatch does not cause any errors with Hadoop 3.2.4 3.3.6.
-1 ❌spotless0m 33spatch has 64 errors when running spotless:check, run spotless:apply to fix.
+1 💚spotbugs1m 30sthe patch passed
_ Other Tests _
+1 💚asflicense0m 8sThe patch does not generate ASF License warnings.
33m 36s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/3/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#5545
Optional Testsdupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile
unameLinux d3579f16db9e 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 7dd4d0c
Default JavaEclipse Adoptium-11.0.17+8
checkstylehttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/3/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt
spotlesshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/3/artifact/yetus-general-check/output/patch-spotless.txt
Max. process+thread count79 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/3/console
versionsgit=2.34.1 maven=3.8.6 spotbugs=4.7.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 27sDocker mode activated.
-0 ⚠️yetus0m 2sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+1 💚mvninstall2m 54smaster passed
+1 💚compile0m 45smaster passed
+1 💚shadedjars5m 12sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 24smaster passed
_ Patch Compile Tests _
+1 💚mvninstall2m 43sthe patch passed
+1 💚compile0m 44sthe patch passed
+1 💚javac0m 44sthe patch passed
+1 💚shadedjars5m 12spatch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 22shbase-server generated 1 new + 95 unchanged - 0 fixed = 96 total (was 95)
_ Other Tests _
-1 ❌unit214m 35shbase-server in the patch failed.
237m 8s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/3/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#5545
Optional Testsjavac javadoc unit shadedjars compile
unameLinux e4e7f182a61e 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 7dd4d0c
Default JavaEclipse Adoptium-11.0.17+8
javadochttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/3/artifact/yetus-jdk11-hadoop3-check/output/diff-javadoc-javadoc-hbase-server.txt
unithttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/3/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-server.txt
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/3/testReport/
Max. process+thread count4727 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/3/console
versionsgit=2.34.1 maven=3.8.6
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 36sDocker mode activated.
-0 ⚠️yetus0m 3sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+1 💚mvninstall2m 20smaster passed
+1 💚compile0m 41smaster passed
+1 💚shadedjars4m 44sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 23smaster passed
_ Patch Compile Tests _
+1 💚mvninstall2m 23sthe patch passed
+1 💚compile0m 41sthe patch passed
+1 💚javac0m 41sthe patch passed
+1 💚shadedjars4m 43spatch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 24shbase-server generated 1 new + 22 unchanged - 0 fixed = 23 total (was 22)
_ Other Tests _
+1 💚unit231m 47shbase-server in the patch passed.
253m 16s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/3/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#5545
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 0451ca37a273 5.4.0-163-generic #180-Ubuntu SMP Tue Sep 5 13:21:23 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 7dd4d0c
Default JavaTemurin-1.8.0_352-b08
javadochttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/3/artifact/yetus-jdk8-hadoop3-check/output/diff-javadoc-javadoc-hbase-server.txt
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/3/testReport/
Max. process+thread count4345 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/3/console
versionsgit=2.34.1 maven=3.8.6
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 23sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 0sThe patch does not contain any @author tags.
_ master Compile Tests _
+1 💚mvninstall2m 36smaster passed
+1 💚compile2m 25smaster passed
+1 💚checkstyle0m 32smaster passed
+1 💚spotless0m 38sbranch has no errors when running spotless:check.
+1 💚spotbugs1m 22smaster passed
_ Patch Compile Tests _
+1 💚mvninstall2m 36sthe patch passed
-1 ❌compile1m 9shbase-server in the patch failed.
-0 ⚠️javac1m 9shbase-server in the patch failed.
-0 ⚠️checkstyle0m 48shbase-server: The patch generated 7 new + 46 unchanged - 0 fixed = 53 total (was 46)
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck11m 4sPatch does not cause any errors with Hadoop 3.2.4 3.3.6.
-1 ❌spotless0m 37spatch has 64 errors when running spotless:check, run spotless:apply to fix.
+1 💚spotbugs1m 40sthe patch passed
_ Other Tests _
+1 💚asflicense0m 9sThe patch does not generate ASF License warnings.
32m 2s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/4/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#5545
Optional Testsdupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile
unameLinux 6eefa407c645 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 7dd4d0c
Default JavaEclipse Adoptium-11.0.17+8
compilehttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/4/artifact/yetus-general-check/output/patch-compile-hbase-server.txt
javachttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/4/artifact/yetus-general-check/output/patch-compile-hbase-server.txt
checkstylehttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/4/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt
spotlesshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/4/artifact/yetus-general-check/output/patch-spotless.txt
Max. process+thread count78 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/4/console
versionsgit=2.34.1 maven=3.8.6 spotbugs=4.7.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 34sDocker mode activated.
-0 ⚠️yetus0m 2sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+1 💚mvninstall2m 44smaster passed
+1 💚compile0m 45smaster passed
+1 💚shadedjars5m 15sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 22smaster passed
_ Patch Compile Tests _
+1 💚mvninstall2m 38sthe patch passed
+1 💚compile0m 45sthe patch passed
+1 💚javac0m 45sthe patch passed
+1 💚shadedjars5m 11spatch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 22shbase-server generated 1 new + 95 unchanged - 0 fixed = 96 total (was 95)
_ Other Tests _
+1 💚unit214m 16shbase-server in the patch passed.
236m 34s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/4/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#5545
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 4b37c6d11f8a 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 7dd4d0c
Default JavaEclipse Adoptium-11.0.17+8
javadochttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/4/artifact/yetus-jdk11-hadoop3-check/output/diff-javadoc-javadoc-hbase-server.txt
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/4/testReport/
Max. process+thread count4686 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/4/console
versionsgit=2.34.1 maven=3.8.6
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 40sDocker mode activated.
-0 ⚠️yetus0m 4sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+1 💚mvninstall2m 19smaster passed
+1 💚compile0m 41smaster passed
+1 💚shadedjars5m 23sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 25smaster passed
_ Patch Compile Tests _
+1 💚mvninstall3m 19sthe patch passed
+1 💚compile0m 55sthe patch passed
+1 💚javac0m 55sthe patch passed
+1 💚shadedjars6m 40spatch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 30shbase-server generated 1 new + 22 unchanged - 0 fixed = 23 total (was 22)
_ Other Tests _
+1 💚unit248m 4shbase-server in the patch passed.
273m 12s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/4/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#5545
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 9515f46f3708 5.4.0-163-generic #180-Ubuntu SMP Tue Sep 5 13:21:23 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 7dd4d0c
Default JavaTemurin-1.8.0_352-b08
javadochttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/4/artifact/yetus-jdk8-hadoop3-check/output/diff-javadoc-javadoc-hbase-server.txt
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/4/testReport/
Max. process+thread count4292 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/4/console
versionsgit=2.34.1 maven=3.8.6
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@kadirozde
kadirozde marked this pull request as draft December 4, 2023 02:35
@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 31sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 0sThe patch does not contain any @author tags.
_ master Compile Tests _
+1 💚mvninstall3m 14smaster passed
+1 💚compile2m 31smaster passed
+1 💚checkstyle0m 33smaster passed
+1 💚spotless0m 43sbranch has no errors when running spotless:check.
+1 💚spotbugs1m 34smaster passed
_ Patch Compile Tests _
+1 💚mvninstall2m 50sthe patch passed
-1 ❌compile1m 7shbase-server in the patch failed.
-0 ⚠️javac1m 7shbase-server in the patch failed.
-0 ⚠️checkstyle0m 35shbase-server: The patch generated 13 new + 46 unchanged - 0 fixed = 59 total (was 46)
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck10m 2sPatch does not cause any errors with Hadoop 3.2.4 3.3.6.
-1 ❌spotless0m 33spatch has 64 errors when running spotless:check, run spotless:apply to fix.
+1 💚spotbugs1m 31sthe patch passed
_ Other Tests _
+1 💚asflicense0m 7sThe patch does not generate ASF License warnings.
32m 5s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/5/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#5545
Optional Testsdupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile
unameLinux e6317fdbf31d 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 25e9228
Default JavaEclipse Adoptium-11.0.17+8
compilehttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/5/artifact/yetus-general-check/output/patch-compile-hbase-server.txt
javachttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/5/artifact/yetus-general-check/output/patch-compile-hbase-server.txt
checkstylehttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/5/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt
spotlesshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/5/artifact/yetus-general-check/output/patch-spotless.txt
Max. process+thread count81 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/5/console
versionsgit=2.34.1 maven=3.8.6 spotbugs=4.7.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 24sDocker mode activated.
-0 ⚠️yetus0m 3sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+1 💚mvninstall2m 42smaster passed
+1 💚compile0m 43smaster passed
+1 💚shadedjars5m 12sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 22smaster passed
_ Patch Compile Tests _
+1 💚mvninstall2m 39sthe patch passed
+1 💚compile0m 45sthe patch passed
+1 💚javac0m 45sthe patch passed
+1 💚shadedjars5m 13spatch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 23shbase-server generated 1 new + 95 unchanged - 0 fixed = 96 total (was 95)
_ Other Tests _
+1 💚unit214m 58shbase-server in the patch passed.
237m 30s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/5/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#5545
Optional Testsjavac javadoc unit shadedjars compile
unameLinux edbc1515060a 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 25e9228
Default JavaEclipse Adoptium-11.0.17+8
javadochttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/5/artifact/yetus-jdk11-hadoop3-check/output/diff-javadoc-javadoc-hbase-server.txt
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/5/testReport/
Max. process+thread count4743 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/5/console
versionsgit=2.34.1 maven=3.8.6
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 41sDocker mode activated.
-0 ⚠️yetus0m 5sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+1 💚mvninstall3m 24smaster passed
+1 💚compile0m 51smaster passed
+1 💚shadedjars6m 7sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 28smaster passed
_ Patch Compile Tests _
+1 💚mvninstall3m 0sthe patch passed
+1 💚compile0m 45sthe patch passed
+1 💚javac0m 45sthe patch passed
+1 💚shadedjars6m 38spatch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 29shbase-server generated 1 new + 22 unchanged - 0 fixed = 23 total (was 22)
_ Other Tests _
-1 ❌unit254m 5shbase-server in the patch failed.
281m 0s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/5/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#5545
Optional Testsjavac javadoc unit shadedjars compile
unameLinux a09fd9c6ca69 5.4.0-163-generic #180-Ubuntu SMP Tue Sep 5 13:21:23 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 25e9228
Default JavaTemurin-1.8.0_352-b08
javadochttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/5/artifact/yetus-jdk8-hadoop3-check/output/diff-javadoc-javadoc-hbase-server.txt
unithttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/5/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-hbase-server.txt
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/5/testReport/
Max. process+thread count4165 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/5/console
versionsgit=2.34.1 maven=3.8.6
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

* older put cells and delete markers).
*/
@InterfaceAudience.Private
public class DualFileStoreEngine extends StoreEngine<DefaultStoreFlusher,

@apurtellapurtellDec 5, 2023

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it possible to refactor this so DefaultCompactor becomes a dual file compactor that only compacts a single file? Can we try that instead? I do not think we need a new Store Engine for this. That introduces some configuration trouble for operators. Ideally operators do not need to change their store engine in order to take advantage of this and other improvements that are generally applicable and are in other respects backwards compatible.

Related comment on design doc: https://docs.google.com/document/d/1Ea42tEBh2X2fCq0_tXSe1BgEqBz58oswJULEbA8-MfI/edit?disco=AAABAgKl--o

HAS_LATEST_VERSION handling could be introduced into the default store engine and compatibility is assured given how you handle HFiles that lack this metadata. Also older versions that don't know about and ignore HAS_LATEST_VERSION will also function correctly because all HFiles will be examined as before.
It seems that we can incrementally upgrade or downgrade from a store engine that understands HAS_LATEST_VERSION and one that does not, unless I am missing something, which is certainly possible. Is my understanding correct? If so I am wondering if we really need a new StoreEngine implementation.

@apurtellapurtell left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to be clear, based on my understanding of the design (see doc here: https://docs.google.com/document/d/1Ea42tEBh2X2fCq0_tXSe1BgEqBz58oswJULEbA8-MfI/edit ) we can integrate this change into the default store engine without requiring opt in and everyone will benefit from the optimization. Compatibility is assured given how we handle HFiles that lack the new metadata. Older HBase versions that don't know about and ignore HAS_LATEST_VERSION will also function correctly because all HFiles will be examined as before. Upgrade to and downgrade from a HAS_LATEST_VERSION capable version does not pose a correctness problem. Operation with mixed HFiles from different versions is also fine. Its simply that the performance benefit is fully realized once upgraded to HAS_LATEST_VERSION capable version and compaction has run on all live regions.

However, in case someone is concerned about potential impacts, please prepare to make the new behavior opt in via a site configuration setting. Hopefully we can achieve a consensus and avoid that.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 38sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 0sThe patch does not contain any @author tags.
_ master Compile Tests _
+0 🆗mvndep0m 32sMaven dependency ordering for branch
+1 💚mvninstall3m 7smaster passed
+1 💚compile3m 5smaster passed
+1 💚checkstyle0m 46smaster passed
+1 💚spotless0m 40sbranch has no errors when running spotless:check.
+1 💚spotbugs2m 8smaster passed
-0 ⚠️patch1m 35sUsed diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗mvndep0m 10sMaven dependency ordering for patch
+1 💚mvninstall2m 38sthe patch passed
-1 ❌compile1m 3shbase-server in the patch failed.
-0 ⚠️javac1m 3shbase-server in the patch failed.
+1 💚checkstyle0m 13shbase-client: The patch generated 0 new + 0 unchanged - 1 fixed = 0 total (was 1)
-0 ⚠️checkstyle0m 31shbase-server: The patch generated 15 new + 55 unchanged - 1 fixed = 70 total (was 56)
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck9m 51sPatch does not cause any errors with Hadoop 3.2.4 3.3.6.
-1 ❌spotless0m 34spatch has 64 errors when running spotless:check, run spotless:apply to fix.
-1 ❌spotbugs1m 35shbase-server generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)
_ Other Tests _
+1 💚asflicense0m 15sThe patch does not generate ASF License warnings.
35m 27s
ReasonTests
FindBugsmodule:hbase-server
Dead store to enableDualFileWriter in org.apache.hadoop.hbase.mob.MobStoreEngine.createComponents(Configuration, HStore, CellComparator) At MobStoreEngine.java:org.apache.hadoop.hbase.mob.MobStoreEngine.createComponents(Configuration, HStore, CellComparator) At MobStoreEngine.java:[line 73]
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/6/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#5545
Optional Testsdupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile
unameLinux 63ce13402b7b 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 82a2ce1
Default JavaEclipse Adoptium-11.0.17+8
compilehttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/6/artifact/yetus-general-check/output/patch-compile-hbase-server.txt
javachttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/6/artifact/yetus-general-check/output/patch-compile-hbase-server.txt
checkstylehttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/6/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt
spotlesshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/6/artifact/yetus-general-check/output/patch-spotless.txt
spotbugshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/6/artifact/yetus-general-check/output/new-spotbugs-hbase-server.html
Max. process+thread count82 (vs. ulimit of 30000)
modulesC: hbase-client hbase-server U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/6/console
versionsgit=2.34.1 maven=3.8.6 spotbugs=4.7.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 26sDocker mode activated.
-0 ⚠️yetus0m 3sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗mvndep0m 32sMaven dependency ordering for branch
+1 💚mvninstall3m 0smaster passed
+1 💚compile1m 1smaster passed
+1 💚shadedjars5m 18sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 36smaster passed
-0 ⚠️patch6m 7sUsed diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗mvndep0m 12sMaven dependency ordering for patch
+1 💚mvninstall2m 38sthe patch passed
+1 💚compile1m 1sthe patch passed
+1 💚javac1m 1sthe patch passed
+1 💚shadedjars5m 14spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 37sthe patch passed
_ Other Tests _
+1 💚unit1m 32shbase-client in the patch passed.
+1 💚unit216m 48shbase-server in the patch passed.
243m 11s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/6/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#5545
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 33f36b4c9d37 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 82a2ce1
Default JavaEclipse Adoptium-11.0.17+8
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/6/testReport/
Max. process+thread count4723 (vs. ulimit of 30000)
modulesC: hbase-client hbase-server U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/6/console
versionsgit=2.34.1 maven=3.8.6
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 39sDocker mode activated.
-0 ⚠️yetus0m 3sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗mvndep0m 16sMaven dependency ordering for branch
+1 💚mvninstall2m 22smaster passed
+1 💚compile1m 0smaster passed
+1 💚shadedjars4m 47sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 40smaster passed
-0 ⚠️patch5m 43sUsed diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗mvndep0m 13sMaven dependency ordering for patch
+1 💚mvninstall2m 22sthe patch passed
+1 💚compile0m 59sthe patch passed
+1 💚javac0m 59sthe patch passed
+1 💚shadedjars4m 45spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 39sthe patch passed
_ Other Tests _
+1 💚unit1m 15shbase-client in the patch passed.
-1 ❌unit235m 22shbase-server in the patch failed.
260m 13s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/6/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#5545
Optional Testsjavac javadoc unit shadedjars compile
unameLinux a2267f1e4f44 5.4.0-163-generic #180-Ubuntu SMP Tue Sep 5 13:21:23 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 82a2ce1
Default JavaTemurin-1.8.0_352-b08
unithttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/6/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-hbase-server.txt
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/6/testReport/
Max. process+thread count4159 (vs. ulimit of 30000)
modulesC: hbase-client hbase-server U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/6/console
versionsgit=2.34.1 maven=3.8.6
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 27sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 0sThe patch does not contain any @author tags.
_ master Compile Tests _
+1 💚mvninstall3m 8smaster passed
+1 💚compile2m 28smaster passed
+1 💚checkstyle0m 35smaster passed
+1 💚spotless0m 41sbranch has no errors when running spotless:check.
+1 💚spotbugs1m 25smaster passed
-0 ⚠️patch1m 31sUsed diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+1 💚mvninstall3m 20sthe patch passed
-1 ❌compile1m 14shbase-server in the patch failed.
-0 ⚠️javac1m 14shbase-server in the patch failed.
-0 ⚠️checkstyle0m 46shbase-server: The patch generated 3 new + 56 unchanged - 0 fixed = 59 total (was 56)
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck11m 5sPatch does not cause any errors with Hadoop 3.2.4 3.3.6.
-1 ❌spotless0m 34spatch has 32 errors when running spotless:check, run spotless:apply to fix.
+1 💚spotbugs1m 32sthe patch passed
_ Other Tests _
+1 💚asflicense0m 8sThe patch does not generate ASF License warnings.
34m 3s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/7/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#5545
Optional Testsdupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile
unameLinux 08c6f4e04e74 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 78c5ac3
Default JavaEclipse Adoptium-11.0.17+8
compilehttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/7/artifact/yetus-general-check/output/patch-compile-hbase-server.txt
javachttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/7/artifact/yetus-general-check/output/patch-compile-hbase-server.txt
checkstylehttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/7/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt
spotlesshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/7/artifact/yetus-general-check/output/patch-spotless.txt
Max. process+thread count81 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/7/console
versionsgit=2.34.1 maven=3.8.6 spotbugs=4.7.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 27sDocker mode activated.
-0 ⚠️yetus0m 3sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+1 💚mvninstall2m 37smaster passed
+1 💚compile0m 47smaster passed
+1 💚shadedjars5m 10sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 22smaster passed
-0 ⚠️patch5m 40sUsed diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+1 💚mvninstall2m 42sthe patch passed
+1 💚compile0m 45sthe patch passed
+1 💚javac0m 45sthe patch passed
+1 💚shadedjars5m 14spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 22sthe patch passed
_ Other Tests _
+1 💚unit218m 24shbase-server in the patch passed.
240m 45s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/7/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#5545
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 03a194f97cac 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 78c5ac3
Default JavaEclipse Adoptium-11.0.17+8
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/7/testReport/
Max. process+thread count4729 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/7/console
versionsgit=2.34.1 maven=3.8.6
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 37sDocker mode activated.
-0 ⚠️yetus0m 3sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+1 💚mvninstall2m 25smaster passed
+1 💚compile0m 41smaster passed
+1 💚shadedjars4m 47sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 24smaster passed
-0 ⚠️patch5m 20sUsed diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+1 💚mvninstall2m 24sthe patch passed
+1 💚compile0m 41sthe patch passed
+1 💚javac0m 41sthe patch passed
+1 💚shadedjars4m 49spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 24sthe patch passed
_ Other Tests _
+1 💚unit232m 29shbase-server in the patch passed.
254m 11s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/7/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#5545
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 028629dde5be 5.4.0-163-generic #180-Ubuntu SMP Tue Sep 5 13:21:23 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 78c5ac3
Default JavaTemurin-1.8.0_352-b08
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/7/testReport/
Max. process+thread count4134 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/7/console
versionsgit=2.34.1 maven=3.8.6
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 24sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 1sNo case conflicting files found.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 0sThe patch does not contain any @author tags.
_ master Compile Tests _
+1 💚mvninstall3m 3smaster passed
+1 💚compile2m 28smaster passed
+1 💚checkstyle0m 34smaster passed
+1 💚spotless0m 39sbranch has no errors when running spotless:check.
+1 💚spotbugs1m 25smaster passed
-0 ⚠️patch1m 31sUsed diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+1 💚mvninstall2m 39sthe patch passed
+1 💚compile2m 59sthe patch passed
+1 💚javac2m 59sthe patch passed
-0 ⚠️checkstyle0m 42shbase-server: The patch generated 2 new + 56 unchanged - 0 fixed = 58 total (was 56)
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck12m 26sPatch does not cause any errors with Hadoop 3.2.4 3.3.6.
+1 💚spotless0m 42spatch has no errors when running spotless:check.
+1 💚spotbugs1m 33sthe patch passed
_ Other Tests _
+1 💚asflicense0m 8sThe patch does not generate ASF License warnings.
36m 58s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/8/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#5545
Optional Testsdupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile
unameLinux ef3ad9810fc6 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 78c5ac3
Default JavaEclipse Adoptium-11.0.17+8
checkstylehttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/8/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt
Max. process+thread count79 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/8/console
versionsgit=2.34.1 maven=3.8.6 spotbugs=4.7.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 27sDocker mode activated.
-0 ⚠️yetus0m 2sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+1 💚mvninstall3m 3smaster passed
+1 💚compile0m 44smaster passed
+1 💚shadedjars5m 13sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 22smaster passed
-0 ⚠️patch5m 43sUsed diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+1 💚mvninstall2m 43sthe patch passed
+1 💚compile0m 44sthe patch passed
+1 💚javac0m 44sthe patch passed
+1 💚shadedjars5m 11spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 22sthe patch passed
_ Other Tests _
+1 💚unit217m 4shbase-server in the patch passed.
239m 59s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/8/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#5545
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 087fdc9a511b 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 78c5ac3
Default JavaEclipse Adoptium-11.0.17+8
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/8/testReport/
Max. process+thread count4670 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/8/console
versionsgit=2.34.1 maven=3.8.6
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 37sDocker mode activated.
-0 ⚠️yetus0m 4sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+1 💚mvninstall2m 19smaster passed
+1 💚compile0m 40smaster passed
+1 💚shadedjars4m 46sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 25smaster passed
-0 ⚠️patch5m 19sUsed diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+1 💚mvninstall2m 21sthe patch passed
+1 💚compile0m 40sthe patch passed
+1 💚javac0m 40sthe patch passed
+1 💚shadedjars4m 48spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 25sthe patch passed
_ Other Tests _
+1 💚unit274m 27shbase-server in the patch passed.
296m 9s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/8/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#5545
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 234c827e3fe6 5.4.0-163-generic #180-Ubuntu SMP Tue Sep 5 13:21:23 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 78c5ac3
Default JavaTemurin-1.8.0_352-b08
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/8/testReport/
Max. process+thread count4105 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/8/console
versionsgit=2.34.1 maven=3.8.6
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@kadirozde
kadirozde marked this pull request as ready for review December 12, 2023 17:59
@kadirozde

Copy link
Copy Markdown
ContributorAuthor

Just to be clear, based on my understanding of the design (see doc here: https://docs.google.com/document/d/1Ea42tEBh2X2fCq0_tXSe1BgEqBz58oswJULEbA8-MfI/edit ) we can integrate this change into the default store engine without requiring opt in and everyone will benefit from the optimization. Compatibility is assured given how we handle HFiles that lack the new metadata. Older HBase versions that don't know about and ignore HAS_LATEST_VERSION will also function correctly because all HFiles will be examined as before. Upgrade to and downgrade from a HAS_LATEST_VERSION capable version does not pose a correctness problem. Operation with mixed HFiles from different versions is also fine. Its simply that the performance benefit is fully realized once upgraded to HAS_LATEST_VERSION capable version and compaction has run on all live regions.

However, in case someone is concerned about potential impacts, please prepare to make the new behavior opt in via a site configuration setting. Hopefully we can achieve a consensus and avoid that.

@apurtell, as per your feedback, I eliminated DualFileStoreEngine, DualFileCompactor, and DualFileStoreFileManager. Their functionality is now integrated into DefaultStoreEngine, DefaultCompactor and DefaultStoreFileManager respectively with some refactoring. Dual file compaction can be turned on/off using a config parameter. By default, it is turned on now. I did that to make sure that existing tests will exercise the new code. We can change the default value before we merge the PR.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 37sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 0sThe patch does not contain any @author tags.
_ master Compile Tests _
+0 🆗mvndep0m 11sMaven dependency ordering for branch
+1 💚mvninstall2m 55smaster passed
+1 💚compile3m 12smaster passed
+1 💚checkstyle0m 52smaster passed
+1 💚spotless0m 45sbranch has no errors when running spotless:check.
+1 💚spotbugs2m 3smaster passed
-0 ⚠️patch1m 43sUsed diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗mvndep0m 11sMaven dependency ordering for patch
+1 💚mvninstall2m 52sthe patch passed
+1 💚compile3m 11sthe patch passed
+1 💚javac3m 11sthe patch passed
-0 ⚠️checkstyle0m 37shbase-server: The patch generated 1 new + 46 unchanged - 0 fixed = 47 total (was 46)
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck4m 57sPatch does not cause any errors with Hadoop 3.3.6.
+1 💚spotless0m 42spatch has no errors when running spotless:check.
+1 💚spotbugs2m 16sthe patch passed
_ Other Tests _
+1 💚asflicense0m 20sThe patch does not generate ASF License warnings.
32m 28s
SubsystemReport/Notes
DockerClientAPI=1.45 ServerAPI=1.45 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/33/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#5545
Optional Testsdupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile
unameLinux 1bf9fde0dcfe 5.4.0-174-generic #193-Ubuntu SMP Thu Mar 7 14:29:28 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 716adf5
Default JavaEclipse Adoptium-11.0.17+8
checkstylehttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/33/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt
Max. process+thread count79 (vs. ulimit of 30000)
modulesC: hbase-server hbase-mapreduce U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/33/console
versionsgit=2.34.1 maven=3.8.6 spotbugs=4.7.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 30sDocker mode activated.
-0 ⚠️yetus0m 2sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗mvndep0m 14sMaven dependency ordering for branch
+1 💚mvninstall3m 14smaster passed
+1 💚compile1m 7smaster passed
+1 💚shadedjars5m 41sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 40smaster passed
-0 ⚠️patch6m 36sUsed diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗mvndep0m 13sMaven dependency ordering for patch
+1 💚mvninstall2m 48sthe patch passed
+1 💚compile1m 3sthe patch passed
+1 💚javac1m 3sthe patch passed
+1 💚shadedjars5m 34spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 35sthe patch passed
_ Other Tests _
+1 💚unit222m 5shbase-server in the patch passed.
+1 💚unit15m 1shbase-mapreduce in the patch passed.
263m 48s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/33/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#5545
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 836ac80252d7 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 716adf5
Default JavaEclipse Adoptium-11.0.17+8
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/33/testReport/
Max. process+thread count5363 (vs. ulimit of 30000)
modulesC: hbase-server hbase-mapreduce U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/33/console
versionsgit=2.34.1 maven=3.8.6
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 41sDocker mode activated.
-0 ⚠️yetus0m 2sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗mvndep0m 19sMaven dependency ordering for branch
+1 💚mvninstall3m 58smaster passed
+1 💚compile1m 48smaster passed
+1 💚shadedjars6m 52sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc1m 1smaster passed
-0 ⚠️patch8m 14sUsed diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗mvndep0m 13sMaven dependency ordering for patch
+1 💚mvninstall3m 33sthe patch passed
+1 💚compile1m 25sthe patch passed
+1 💚javac1m 25sthe patch passed
+1 💚shadedjars7m 4spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc1m 6sthe patch passed
_ Other Tests _
+1 💚unit263m 9shbase-server in the patch passed.
+1 💚unit13m 38shbase-mapreduce in the patch passed.
309m 51s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/33/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
GITHUB PR#5545
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 8a6f4107cf90 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 716adf5
Default JavaEclipse Adoptium-17.0.10+7
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/33/testReport/
Max. process+thread count4532 (vs. ulimit of 30000)
modulesC: hbase-server hbase-mapreduce U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/33/console
versionsgit=2.34.1 maven=3.8.6
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 36sDocker mode activated.
-0 ⚠️yetus0m 3sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗mvndep0m 17sMaven dependency ordering for branch
+1 💚mvninstall3m 32smaster passed
+1 💚compile1m 28smaster passed
+1 💚shadedjars7m 17sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 52smaster passed
-0 ⚠️patch8m 28sUsed diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗mvndep0m 15sMaven dependency ordering for patch
+1 💚mvninstall3m 26sthe patch passed
+1 💚compile1m 25sthe patch passed
+1 💚javac1m 25sthe patch passed
+1 💚shadedjars7m 5spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 44sthe patch passed
_ Other Tests _
+1 💚unit293m 35shbase-server in the patch passed.
+1 💚unit20m 42shbase-mapreduce in the patch passed.
346m 31s
SubsystemReport/Notes
DockerClientAPI=1.45 ServerAPI=1.45 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/33/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#5545
Optional Testsjavac javadoc unit shadedjars compile
unameLinux aed95bfce225 5.4.0-172-generic #190-Ubuntu SMP Fri Feb 2 23:24:22 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 716adf5
Default JavaTemurin-1.8.0_352-b08
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/33/testReport/
Max. process+thread count4880 (vs. ulimit of 30000)
modulesC: hbase-server hbase-mapreduce U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/33/console
versionsgit=2.34.1 maven=3.8.6
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@virajjasanivirajjasani left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1, took another look after quite some time, reasonable to get this merged soon.

for (int i = 0; i < size; i++) {
Cell firstCell = firstRowList.get(i);
Cell secondCell = secondRowList.get(i);
assert (CellUtil.matchingRowColumn(firstCell, secondCell));

@virajjasanivirajjasaniMay 17, 2024

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: These asserts could be assertTrue or assertEquals, but this is not blocker for merging the PR, can be done later in future.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I made the change for this comment.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 0sDocker mode activated.
-1 ❌docker0m 5sDocker failed to build run-specific yetus/hbase:tp-876}.
SubsystemReport/Notes
GITHUB PR#5545
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/34/console
versionsgit=2.25.1
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 34sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 0sThe patch does not contain any @author tags.
_ master Compile Tests _
+0 🆗mvndep0m 12sMaven dependency ordering for branch
+1 💚mvninstall2m 56smaster passed
+1 💚compile3m 13smaster passed
+1 💚checkstyle0m 52smaster passed
+1 💚spotless0m 44sbranch has no errors when running spotless:check.
+1 💚spotbugs2m 2smaster passed
-0 ⚠️patch1m 42sUsed diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗mvndep0m 11sMaven dependency ordering for patch
+1 💚mvninstall2m 56sthe patch passed
+1 💚compile4m 20sthe patch passed
+1 💚javac4m 20sthe patch passed
-0 ⚠️checkstyle0m 47shbase-server: The patch generated 1 new + 46 unchanged - 0 fixed = 47 total (was 46)
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck5m 47sPatch does not cause any errors with Hadoop 3.3.6.
+1 💚spotless0m 58spatch has no errors when running spotless:check.
+1 💚spotbugs2m 54sthe patch passed
_ Other Tests _
+1 💚asflicense0m 18sThe patch does not generate ASF License warnings.
37m 11s
SubsystemReport/Notes
DockerClientAPI=1.45 ServerAPI=1.45 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/34/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#5545
Optional Testsdupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile
unameLinux ec4f2513565d 5.4.0-172-generic #190-Ubuntu SMP Fri Feb 2 23:24:22 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 716adf5
Default JavaEclipse Adoptium-11.0.17+8
checkstylehttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/34/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt
Max. process+thread count79 (vs. ulimit of 30000)
modulesC: hbase-server hbase-mapreduce U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/34/console
versionsgit=2.34.1 maven=3.8.6 spotbugs=4.7.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@apurtell
apurtell merged commit 00f078a into apache:masterMay 17, 2024
@kadirozde
kadirozde deleted the 25972 branch May 17, 2024 04:35
@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 37sDocker mode activated.
-0 ⚠️yetus0m 3sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗mvndep0m 16sMaven dependency ordering for branch
+1 💚mvninstall2m 54smaster passed
+1 💚compile1m 18smaster passed
+1 💚shadedjars5m 19sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 43smaster passed
-0 ⚠️patch6m 21sUsed diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗mvndep0m 12sMaven dependency ordering for patch
+1 💚mvninstall2m 51sthe patch passed
+1 💚compile1m 17sthe patch passed
+1 💚javac1m 17sthe patch passed
+1 💚shadedjars5m 19spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 43sthe patch passed
_ Other Tests _
+1 💚unit226m 57shbase-server in the patch passed.
+1 💚unit16m 15shbase-mapreduce in the patch passed.
269m 43s
SubsystemReport/Notes
DockerClientAPI=1.45 ServerAPI=1.45 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/34/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
GITHUB PR#5545
Optional Testsjavac javadoc unit shadedjars compile
unameLinux e01eef41cba4 5.4.0-172-generic #190-Ubuntu SMP Fri Feb 2 23:24:22 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 716adf5
Default JavaEclipse Adoptium-17.0.10+7
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/34/testReport/
Max. process+thread count5420 (vs. ulimit of 30000)
modulesC: hbase-server hbase-mapreduce U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/34/console
versionsgit=2.34.1 maven=3.8.6
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 32sDocker mode activated.
-0 ⚠️yetus0m 3sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗mvndep0m 11sMaven dependency ordering for branch
+1 💚mvninstall3m 46smaster passed
+1 💚compile1m 28smaster passed
+1 💚shadedjars6m 33sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 48smaster passed
-0 ⚠️patch7m 38sUsed diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗mvndep0m 11sMaven dependency ordering for patch
+1 💚mvninstall3m 25sthe patch passed
+1 💚compile1m 25sthe patch passed
+1 💚javac1m 25sthe patch passed
+1 💚shadedjars6m 28spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 45sthe patch passed
_ Other Tests _
-1 ❌unit268m 25shbase-server in the patch failed.
+1 💚unit17m 5shbase-mapreduce in the patch passed.
316m 22s
SubsystemReport/Notes
DockerClientAPI=1.45 ServerAPI=1.45 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/34/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#5545
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 44673d172319 5.4.0-172-generic #190-Ubuntu SMP Fri Feb 2 23:24:22 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 716adf5
Default JavaEclipse Adoptium-11.0.17+8
unithttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/34/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-server.txt
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/34/testReport/
Max. process+thread count4806 (vs. ulimit of 30000)
modulesC: hbase-server hbase-mapreduce U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5545/34/console
versionsgit=2.34.1 maven=3.8.6
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

vinayakphegde pushed a commit to vinayakphegde/hbase that referenced this pull request May 21, 2024
Signed-off-by: Andrew Purtell <apurtell@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
@apacheapache deleted a comment from Apache-HBaseJun 6, 2024
@apacheapache deleted a comment from Apache-HBaseJun 6, 2024
// the delete-family marker. In this case, there is no need to add the
// delete-family-version marker to the live version file. This case happens only with
// the new version behavior.
liveFileWriter.append(cell);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @kadirozde . Is there any inconsistency between the code and the comments here? The comment says In this case, there is no need to add the delete-family-version marker to the live version file., but the actual code still writes to the liveFileWriter.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also I would like to ask, in this scenario, why don't we need to add the delete-family-version marker to the live version file? Thx!

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, the cell should have been added to the historical file. Please feel free to file a jira and fix it. It not a data integrity issue but it should be fixed. If you prefer me to do, please let me know. Good catch!

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you. I'm glad to fix this issue. However, I would like to ask why there is no need to add the delete-family-version marker to the live version file here? Won't there be any correctness issues? The deletion order in the new version behavior itself takes the sequence id into account. Here, the sequence id of the delete-family-version marker is larger than that of the delete-family marker. Won't directly putting the delete-family-version marker into the historical file lead to the loss of deletion information? Thank you.

@kadirozdekadirozdeSep 17, 2024

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we have delete-family and delete-family-version markers with the same timestamp then the set of cells that is deleted by the delete-family-version marker is also covered (that is, deleted) by the delete-family marker. The reason we need delete markers in the live version file is to make sure that we do not return the cells previously stored in live files but deleted later would not be returned by the regular (not raw) scans that scan the latest cell versions. There might more than one delete marker that deletes a given cell. However, we need only one of them to mask this deleted cell during scans. Please note between live and historical files we store all delete markers. The raw scans scan both live and historical files. However, regular scans for the latest cell versions scan only live files.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you. Yes, under the default version behavior, I'm sure that the delete-family marker can overwrite the delete-family-version marker. However, under the new version behavior, I'm not sure whether such a situation will occur: there is a delete-family marker with a timestamp (ts) of 10 and a sequence ID (seqId) of 100, a Put with a ts of 10 and a seqId of 101, and a delete-family-version marker with a ts of 10 and a seqId of 102. At this time, the Put is invisible. If during compaction, the delete-family-version marker is placed into the historical file, but the delete-family marker and the Put are in the live version file, then there will be a problem. Under the new version behavior, the Put will become visible. I would like to ask how this situation is avoided. During compaction, if the delete-family marker and the delete-family-version marker appear simultaneously, will the Put also definitely appear (so that the Put will definitely be placed into the historical file)? What kind of mechanism guarantees this? Thx!

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for being diligent! I think there is no bug here. Now it is clear to me there is no inconsistency between the comment and the code as opposed to what I thought initially. The reason we write this delete version marker to cover the case you mentioned above. I agree my comment could have been phrased better as follow.

 // This means both the delete-family and delete-family-version markers have the same
// timestamp but the sequence id of delete-family-version marker is higher than that of
// the delete-family marker. With the new version behavior, the delete-family-version // maker is not deleted (masked) by the delete-family marker with the same timestamp // as in the case here. That is why we need to write this delete marker to the live version
// file.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you! But I think the handling of the Delete type is similar to this, but the Delete is placed in the historical file. The code is here:

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You are right! Let us fix that and rephrase the comments to make them clear. Also please check other cases too. I will review your PR.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, I'm glad to fix this problem. However, I want to confirm that the correct behavior should be adding the Delete operation here to the live version file, right?

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants

@kadirozde@Apache-HBase@virajjasani@Apache9@bbeaudreault@apurtell@wchevreuil@lorinlee@d-c-manning