Skip to content

Backport "HBASE-26782 Minor code cleanup in and around RpcExecutor" to branch-2 - #4173

Merged
ndimiduk merged 1 commit into
apache:branch-2from
ndimiduk:26782-cleanup-rpcexecutor-branch-2
Mar 9, 2022
Merged

Backport "HBASE-26782 Minor code cleanup in and around RpcExecutor" to branch-2#4173
ndimiduk merged 1 commit into
apache:branch-2from
ndimiduk:26782-cleanup-rpcexecutor-branch-2

Conversation

@ndimiduk

Copy link
Copy Markdown
Member

Signed-off-by: Bharath Vissapragada bharathv@apache.org
Signed-off-by: Duo Zhang zhangduo@apache.org

Signed-off-by: Bharath Vissapragada <bharathv@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
@ndimidukndimiduk added the backport This PR is a back port of some issue or issues already committed to master label Mar 7, 2022
@ndimiduk

Copy link
Copy Markdown
MemberAuthor

@stoty can you confirm that this change is not problematic for Phoenix?

@stoty

stoty commented Mar 7, 2022

Copy link
Copy Markdown
Contributor

Technically, Phoenix doesn't support branch-2, only branch-2.[1..4]
Let me check what happens if I apply this on branch-2.4.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 51sDocker 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.
_ branch-2 Compile Tests _
+1 💚mvninstall2m 48sbranch-2 passed
+1 💚compile2m 15sbranch-2 passed
+1 💚checkstyle0m 37sbranch-2 passed
+1 💚spotbugs1m 15sbranch-2 passed
_ Patch Compile Tests _
+1 💚mvninstall2m 17sthe patch passed
+1 💚compile2m 11sthe patch passed
+1 💚javac2m 11sthe patch passed
+1 💚checkstyle0m 37shbase-server: The patch generated 0 new + 1 unchanged - 14 fixed = 1 total (was 15)
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck7m 42sPatch does not cause any errors with Hadoop 3.1.2 3.2.1.
+1 💚spotbugs1m 18sthe patch passed
_ Other Tests _
+1 💚asflicense0m 14sThe patch does not generate ASF License warnings.
27m 16s
SubsystemReport/Notes
DockerClientAPI=1.41 ServerAPI=1.41 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4173/1/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#4173
Optional Testsdupname asflicense javac spotbugs hadoopcheck hbaseanti checkstyle compile
unameLinux f21069465056 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 revisionbranch-2 / f4c91ee
Default JavaAdoptOpenJDK-1.8.0_282-b08
Max. process+thread count60 (vs. ulimit of 12500)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4173/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.

@stoty

stoty commented Mar 7, 2022

Copy link
Copy Markdown
Contributor

Interesting. For branch-2.4 we're compiling phoenix with Hbase 2.4.1, so we don't see the difference at compile time.
Our Scheduler code itself doesn't throw exceptions on dispatch(), any exception may only come from the delegate scheduler, which is coming the HBase code, so in theory we shouldn't even notice even if the API changes in Hbase 2.4.

For 2.5 and later, we're going to have to rename our internal dispatch() method, and add a dispatch() wrapper to the compatibility shim that handles the API differences betweeen the HBase versions, instead of overriding it as we do now.

All in all, Phoenix can handle the API change in HBase 2.5+ .

@ndimiduk

Copy link
Copy Markdown
MemberAuthor

All in all, Phoenix can handle the API change in HBase 2.5+

Is that for just this change to RpcExecutor, or are you looking at changes to RpcScheduler#dispatch ?

Thanks @stoty .

@stoty

stoty commented Mar 7, 2022

Copy link
Copy Markdown
Contributor

I've only looked at RPCExecutor#dispatch() .

@stoty

stoty commented Mar 7, 2022

Copy link
Copy Markdown
Contributor

But RpcScheduler#dispatch can be handled the same way.

@ndimiduk

Copy link
Copy Markdown
MemberAuthor

I wouldn't want to make any interface compatibility changes to IA.LimitedPrivate classes on a patch release, only minor release. Thank again @stoty for taking the time!

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec2m 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.
_ branch-2 Compile Tests _
+1 💚mvninstall3m 39sbranch-2 passed
+1 💚compile2m 51sbranch-2 passed
+1 💚checkstyle0m 44sbranch-2 passed
+1 💚spotbugs1m 35sbranch-2 passed
_ Patch Compile Tests _
+1 💚mvninstall3m 9sthe patch passed
+1 💚compile2m 57sthe patch passed
+1 💚javac2m 57sthe patch passed
+1 💚checkstyle0m 45shbase-server: The patch generated 0 new + 1 unchanged - 14 fixed = 1 total (was 15)
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck9m 18sPatch does not cause any errors with Hadoop 3.1.2 3.2.1.
+1 💚spotbugs1m 57sthe patch passed
_ Other Tests _
+1 💚asflicense0m 11sThe patch does not generate ASF License warnings.
35m 30s
SubsystemReport/Notes
DockerClientAPI=1.41 ServerAPI=1.41 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4173/2/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#4173
Optional Testsdupname asflicense javac spotbugs hadoopcheck hbaseanti checkstyle compile
unameLinux 76305228b76a 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 revisionbranch-2 / 5bae04e
Default JavaAdoptOpenJDK-1.8.0_282-b08
Max. process+thread count60 (vs. ulimit of 12500)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4173/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 🆗reexec2m 18sDocker mode activated.
-0 ⚠️yetus0m 5sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ branch-2 Compile Tests _
+1 💚mvninstall4m 11sbranch-2 passed
+1 💚compile0m 53sbranch-2 passed
+1 💚shadedjars4m 19sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 43sbranch-2 passed
_ Patch Compile Tests _
+1 💚mvninstall3m 37sthe patch passed
+1 💚compile0m 55sthe patch passed
+1 💚javac0m 55sthe patch passed
+1 💚shadedjars4m 9spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 27sthe patch passed
_ Other Tests _
+1 💚unit363m 27shbase-server in the patch passed.
386m 21s
SubsystemReport/Notes
DockerClientAPI=1.41 ServerAPI=1.41 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4173/2/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#4173
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 1846cd652ed9 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 revisionbranch-2 / 5bae04e
Default JavaAdoptOpenJDK-11.0.10+9
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4173/2/testReport/
Max. process+thread count1818 (vs. ulimit of 12500)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4173/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.

@ndimiduk
ndimiduk merged commit 7e267c6 into apache:branch-2Mar 9, 2022
@ndimiduk
ndimiduk deleted the 26782-cleanup-rpcexecutor-branch-2 branch March 9, 2022 11:44
@ndimiduk

Copy link
Copy Markdown
MemberAuthor

Okay, so here's a problem that confused me through this. RpcExecutor, the abstract base class, is marked as IA.Private. However, it has several subclasses that are marked as IA.LimitedPrivate(COPROC, PHOENIX).

https://issues.apache.org/jira/browse/HBASE-26817

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

Labels

backportThis PR is a back port of some issue or issues already committed to master

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@ndimiduk@stoty@Apache-HBase