Skip to content

HBASE-26791 Memstore flush fencing issue for SFT - #4202

Merged
Apache9 merged 2 commits into
apache:masterfrom
Apache9:HBASE-26791
Mar 21, 2022
Merged

HBASE-26791 Memstore flush fencing issue for SFT#4202
Apache9 merged 2 commits into
apache:masterfrom
Apache9:HBASE-26791

Conversation

@Apache9

Copy link
Copy Markdown
Contributor

No description provided.

@Apache9Apache9 self-assigned this Mar 10, 2022
@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 44sDocker 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 34smaster passed
+1 💚compile2m 51smaster passed
+1 💚checkstyle0m 42smaster passed
+1 💚spotbugs1m 36smaster passed
_ Patch Compile Tests _
+1 💚mvninstall3m 12sthe patch passed
+1 💚compile2m 45sthe patch passed
+1 💚javac2m 45sthe patch passed
+1 💚checkstyle0m 44sthe patch passed
-0 ⚠️whitespace0m 0sThe patch has 2 line(s) that end in whitespace. Use git apply --whitespace=fix <<patch_file>>. Refer https://git-scm.com/docs/git-apply
+1 💚hadoopcheck14m 52sPatch does not cause any errors with Hadoop 3.1.2 3.2.2 3.3.1.
+1 💚spotbugs1m 51sthe patch passed
_ Other Tests _
+1 💚asflicense0m 12sThe patch does not generate ASF License warnings.
39m 31s
SubsystemReport/Notes
DockerClientAPI=1.41 ServerAPI=1.41 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4202/1/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#4202
Optional Testsdupname asflicense javac spotbugs hadoopcheck hbaseanti checkstyle compile
unameLinux b99e2cbd859b 5.4.0-96-generic #109-Ubuntu SMP Wed Jan 12 16:49:16 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 4da53ef
Default JavaAdoptOpenJDK-1.8.0_282-b08
whitespacehttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4202/1/artifact/yetus-general-check/output/whitespace-eol.txt
Max. process+thread count60 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4202/1/console
versionsgit=2.17.1 maven=3.6.3 spotbugs=4.2.2
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 44sDocker 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 💚mvninstall4m 3smaster passed
+1 💚compile0m 59smaster passed
+1 💚shadedjars4m 26sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 38smaster passed
_ Patch Compile Tests _
+1 💚mvninstall3m 36sthe patch passed
+1 💚compile0m 53sthe patch passed
+1 💚javac0m 53sthe patch passed
+1 💚shadedjars4m 15spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 28sthe patch passed
_ Other Tests _
+1 💚unit328m 26shbase-server in the patch passed.
350m 1s
SubsystemReport/Notes
DockerClientAPI=1.41 ServerAPI=1.41 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4202/1/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#4202
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 8880cb371498 5.4.0-96-generic #109-Ubuntu SMP Wed Jan 12 16:49:16 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 4da53ef
Default JavaAdoptOpenJDK-11.0.10+9
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4202/1/testReport/
Max. process+thread count2295 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4202/1/console
versionsgit=2.17.1 maven=3.6.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@joshelserjoshelser left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Maybe I'm missing it, but I think there's still a chance for race condition here. Let me try to summarize how I think you're solving this and you can correct me.

We add a sequence id (the current timestamp or one more than the previous ID if we have a clock skew) for each store's tracker. This sequence id is included in the filename for uniqueness. When we write a new tracker out, we increment the id. When we go to load a store, we find the largest ID and pick that seqID's tracker file to load. After we pick the biggest seqId tracker, we delete any trackers older than the one we picked.

  • RS1 makes a tracker for storeA with seq=1
  • RS1 goes zombie
  • RS2 gets assignment for storeA opens seq=2
  • RS1 wakes up and tries to memstore flush

I'm confused because I feel like we will call load(false) which would just write a new tracker file with the newer time (or seqId + 1). I will totally admit I am probably just getting it by reading the code.

// since read only is true, we should not delete the old track file
// the deletion is in background, so sleep a bit then assert
Thread.sleep(2000);
assertTrue(fs.exists(trackFileStatus.getPath()));

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Use the HTU.Waiter to check a few times please.

@joshelser

Copy link
Copy Markdown
Member

Bump the timestamp/sequenceid, to a value greater than the loaded timestamp/sequenceid, and we will use this timestamp/sequenceid as new track file names.
In this way, the old rs will only overwrite the track files with old timestamp/sequenceid, so it will not effect the new track files. So the problem can be solved.

Ah, so is it that we use the sequenceId only when opening the Region (store). After the region is open, choosing whether to use f1 or f2 is then based on what getTimestamp() returns for those two files? That makes more sense.

Sorry I missed your explanation on Jira.

@joshelser

Copy link
Copy Markdown
Member

Some general thinking about this (not specific to your changes)

  • Could we use the RS start code instead of a new timestamp/seqId? Those should already be unique across RS and that might help in debugging after the fact.
  • Do we still need the f1 and f2 files? Could we do away with having two per RS?

@Apache9

Copy link
Copy Markdown
ContributorAuthor

Maybe I'm missing it, but I think there's still a chance for race condition here. Let me try to summarize how I think you're solving this and you can correct me.

We add a sequence id (the current timestamp or one more than the previous ID if we have a clock skew) for each store's tracker. This sequence id is included in the filename for uniqueness. When we write a new tracker out, we increment the id. When we go to load a store, we find the largest ID and pick that seqID's tracker file to load. After we pick the biggest seqId tracker, we delete any trackers older than the one we picked.

  • RS1 makes a tracker for storeA with seq=1
  • RS1 goes zombie
  • RS2 gets assignment for storeA opens seq=2
  • RS1 wakes up and tries to memstore flush

I'm confused because I feel like we will call load(false) which would just write a new tracker file with the newer time (or seqId + 1). I will totally admit I am probably just getting it by reading the code.

Ah you have missed a very important point... We will only bump the sequence id when loading at the primary replica(i.e, readOnly = false), this means we will only bump the sequence id when opening a region, so the scenario you described above has no problem. RS1 will only write the files with old sequence id while RS2 will write the files with new(greater) sequence id. This is the key trick here to solve the problem.

@Apache9

Copy link
Copy Markdown
ContributorAuthor

Some general thinking about this (not specific to your changes)

  • Could we use the RS start code instead of a new timestamp/seqId? Those should already be unique across RS and that might help in debugging after the fact.
  • Do we still need the f1 and f2 files? Could we do away with having two per RS?

As explained above, the key here is to make sure that the sequence id of the SFT files written by the new RS is greater than the ones written by the old RS. So the answer of these two questions are pretty easy:

  1. No, we can not. The start code of the 'new' RS may be less than the 'old' RS, as here, 'new' and 'old' just mean we reassigned a region from the 'old' to 'new', does not mean the 'new' RS is started after the 'old' RS.
  2. To preventing the 'old' RS write SFT files with greater sequence id, we'd better not increase the sequence id when writing them on the same RS, so we'd better still use the old mechanism when writing, i.e, switch between the two SFT files.

@wchevreuilwchevreuil 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.

Overall, LGTM. Had made some nit comments on the subject of logging/supportability.

Test wise, could we add a test that mimics the issue, by instantiate two StoreFileListFile instances, update both with different store files, then check these updates don't reflect on each other lists of store files?

@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 💚mvninstall2m 20smaster passed
+1 💚compile2m 14smaster passed
+1 💚checkstyle0m 36smaster passed
+1 💚spotbugs1m 18smaster passed
_ Patch Compile Tests _
+1 💚mvninstall2m 10sthe patch passed
+1 💚compile2m 14sthe patch passed
+1 💚javac2m 14sthe patch passed
+1 💚checkstyle0m 36sthe patch passed
-0 ⚠️whitespace0m 0sThe patch has 2 line(s) that end in whitespace. Use git apply --whitespace=fix <<patch_file>>. Refer https://git-scm.com/docs/git-apply
+1 💚hadoopcheck11m 26sPatch does not cause any errors with Hadoop 3.1.2 3.2.2 3.3.1.
+1 💚spotbugs1m 22sthe patch passed
_ Other Tests _
+1 💚asflicense0m 11sThe patch does not generate ASF License warnings.
29m 40s
SubsystemReport/Notes
DockerClientAPI=1.41 ServerAPI=1.41 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4202/2/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#4202
Optional Testsdupname asflicense javac spotbugs hadoopcheck hbaseanti checkstyle compile
unameLinux 1f07300b113d 5.4.0-90-generic #101-Ubuntu SMP Fri Oct 15 20:00:55 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 1d38db9
Default JavaAdoptOpenJDK-1.8.0_282-b08
whitespacehttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4202/2/artifact/yetus-general-check/output/whitespace-eol.txt
Max. process+thread count60 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4202/2/console
versionsgit=2.17.1 maven=3.6.3 spotbugs=4.2.2
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 46sDocker 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 24smaster passed
+1 💚compile0m 37smaster passed
+1 💚shadedjars3m 53sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 27smaster passed
_ Patch Compile Tests _
+1 💚mvninstall2m 10sthe patch passed
+1 💚compile0m 35sthe patch passed
+1 💚javac0m 35sthe patch passed
+1 💚shadedjars3m 51spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 22sthe patch passed
_ Other Tests _
+1 💚unit168m 42shbase-server in the patch passed.
185m 29s
SubsystemReport/Notes
DockerClientAPI=1.41 ServerAPI=1.41 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4202/2/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#4202
Optional Testsjavac javadoc unit shadedjars compile
unameLinux dcfc6e9240f2 5.4.0-1025-aws #25~18.04.1-Ubuntu SMP Fri Sep 11 12:03:04 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 1d38db9
Default JavaAdoptOpenJDK-1.8.0_282-b08
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4202/2/testReport/
Max. process+thread count2696 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4202/2/console
versionsgit=2.17.1 maven=3.6.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 46sDocker 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 55smaster passed
+1 💚compile0m 43smaster passed
+1 💚shadedjars4m 4sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 26smaster passed
_ Patch Compile Tests _
+1 💚mvninstall2m 36sthe patch passed
+1 💚compile0m 43sthe patch passed
+1 💚javac0m 43sthe patch passed
+1 💚shadedjars4m 2spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 24sthe patch passed
_ Other Tests _
+1 💚unit169m 24shbase-server in the patch passed.
188m 15s
SubsystemReport/Notes
DockerClientAPI=1.41 ServerAPI=1.41 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4202/2/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#4202
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 0e5a2acee584 5.4.0-1025-aws #25~18.04.1-Ubuntu SMP Fri Sep 11 12:03:04 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 1d38db9
Default JavaAdoptOpenJDK-11.0.10+9
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4202/2/testReport/
Max. process+thread count2673 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4202/2/console
versionsgit=2.17.1 maven=3.6.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 45sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 1sThe patch does not contain any @author tags.
_ master Compile Tests _
+1 💚mvninstall2m 36smaster passed
+1 💚compile2m 22smaster passed
+1 💚checkstyle0m 38smaster passed
+1 💚spotbugs1m 28smaster passed
_ Patch Compile Tests _
+1 💚mvninstall2m 22sthe patch passed
+1 💚compile2m 25sthe patch passed
+1 💚javac2m 25sthe patch passed
+1 💚checkstyle0m 35sthe patch passed
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck12m 15sPatch does not cause any errors with Hadoop 3.1.2 3.2.2 3.3.1.
+1 💚spotbugs1m 35sthe patch passed
_ Other Tests _
+1 💚asflicense0m 10sThe patch does not generate ASF License warnings.
32m 25s
SubsystemReport/Notes
DockerClientAPI=1.41 ServerAPI=1.41 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4202/3/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#4202
Optional Testsdupname asflicense javac spotbugs hadoopcheck hbaseanti checkstyle compile
unameLinux 9cf8e7718462 5.4.0-1025-aws #25~18.04.1-Ubuntu SMP Fri Sep 11 12:03:04 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 1d38db9
Default JavaAdoptOpenJDK-1.8.0_282-b08
Max. process+thread count60 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4202/3/console
versionsgit=2.17.1 maven=3.6.3 spotbugs=4.2.2
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 42sDocker 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 6smaster passed
+1 💚compile0m 33smaster passed
+1 💚shadedjars3m 53sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 20smaster passed
_ Patch Compile Tests _
+1 💚mvninstall2m 4sthe patch passed
+1 💚compile0m 34sthe patch passed
+1 💚javac0m 34sthe patch passed
+1 💚shadedjars3m 51spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 20sthe patch passed
_ Other Tests _
+1 💚unit169m 7shbase-server in the patch passed.
185m 3s
SubsystemReport/Notes
DockerClientAPI=1.41 ServerAPI=1.41 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4202/3/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#4202
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 8b57ea8f6523 5.4.0-1025-aws #25~18.04.1-Ubuntu SMP Fri Sep 11 12:03:04 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 1d38db9
Default JavaAdoptOpenJDK-1.8.0_282-b08
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4202/3/testReport/
Max. process+thread count3288 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4202/3/console
versionsgit=2.17.1 maven=3.6.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 38sDocker 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 40smaster passed
+1 💚compile0m 45smaster passed
+1 💚shadedjars4m 4sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 24smaster passed
_ Patch Compile Tests _
+1 💚mvninstall2m 37sthe patch passed
+1 💚compile0m 44sthe patch passed
+1 💚javac0m 44sthe patch passed
+1 💚shadedjars3m 59spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 24sthe patch passed
_ Other Tests _
+1 💚unit170m 7shbase-server in the patch passed.
187m 45s
SubsystemReport/Notes
DockerClientAPI=1.41 ServerAPI=1.41 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4202/3/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#4202
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 27af23268b99 5.4.0-1025-aws #25~18.04.1-Ubuntu SMP Fri Sep 11 12:03:04 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 1d38db9
Default JavaAdoptOpenJDK-11.0.10+9
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4202/3/testReport/
Max. process+thread count2866 (vs. ulimit of 30000)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4202/3/console
versionsgit=2.17.1 maven=3.6.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache9

Copy link
Copy Markdown
ContributorAuthor

Any other concerns? @wchevreuil@joshelser

@joshelser

Copy link
Copy Markdown
Member

The start code of the 'new' RS may be less than the 'old' RS, as here, 'new' and 'old' just mean we reassigned a region from the 'old' to 'new', does not mean the 'new' RS is started after the 'old' RS.

Oh that's tricky. I didn't even think about that case. 👍🏼

@joshelserjoshelser left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM

@Apache9
Apache9 merged commit e56ed40 into apache:masterMar 21, 2022
Apache9 added a commit that referenced this pull request Mar 22, 2022
Signed-off-by: Josh Elser <elserj@apache.org>
Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
(cherry picked from commit e56ed40)
vinayakphegde pushed a commit to vinayakphegde/hbase that referenced this pull request Apr 4, 2024
Signed-off-by: Josh Elser <elserj@apache.org>
Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
(cherry picked from commit e56ed40)
Change-Id: If8773e1fd5147fb339a084bfd6b6a34dbd6f4950
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.

4 participants

@Apache9@Apache-HBase@joshelser@wchevreuil