Skip to content

Conversation

@sanjeet006py
Copy link
Contributor

@sanjeet006py sanjeet006py commented Sep 24, 2025

  • JIRA: PHOENIX-7731
  • The PR has added a new phoenix-hbase-compat module for HBase 2.6.4. Link to the Phoenix dev mailing list thread with alignment on creating new phoenix-hbase-compat module.
  • The new phoenix-hbase-compat-2.6.4 module is same as phoenix-hbase-compat-2.6.0 except for class: CompatIndexHalfStoreFileReader where new API in 2.6.4 is being used: StoreFileInfo.createStoreFileInfoForHFile().

@virajjasani
Copy link
Contributor

@sanjeet006py at high level, the changes look good but I think once we have hbase 2.6 release, we should create separate PR for the new module without including phoenix metrics changes.
Then the separate changes for metrics will make it even better for review!

@sanjeet006py sanjeet006py changed the title PHOENIX-7704 Integrate HBase's new Scan Latency Metrics PHOENIX-7731: Add phoenix-hbase-compat module for HBase 2.6.4 Nov 18, 2025
@sanjeet006py sanjeet006py marked this pull request as ready for review November 18, 2025 05:34
@sanjeet006py
Copy link
Contributor Author

@virajjasani virajjasani requested a review from stoty November 18, 2025 06:10
@virajjasani
Copy link
Contributor

PR validation build: https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/view/change-requests/job/PR-2291/

@sanjeet006py this build will still use 2.5.4 by default right? you can make temporary commit with applying <name>!hbase.profile</name> to latest 2.6.4 and remove it from 2.5.4 and let one full build run? once the results look good, you can revert the commit and we can merge it.

The high level changes look good so far.

pom.xml Outdated
</activation>
<properties>
<hbase.profile>2.6.3</hbase.profile>
<hadoop.version>3.4.1</hadoop.version>
Copy link
Contributor

Choose a reason for hiding this comment

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

Why did you add this ?
While 2.6.3 is built with 3.4.1, in my tests it ran fine with 3.4.2.
We generally want the latest Hadoop that the Hbase version works with (and can run the tests)

Copy link
Contributor Author

@sanjeet006py sanjeet006py Nov 18, 2025

Choose a reason for hiding this comment

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

When I initially started on PR then Phoenix by default was using hadoop 3.4.1 so, I also used same for pinning hadoop version for HBase 2.6.3. But I see now HBase & Phoenix are using 3.4.2 so will update the same. Thanks

Copy link
Contributor

@stoty stoty Nov 18, 2025

Choose a reason for hiding this comment

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

You should just remove the line and fall back to the default 3.4.2

Copy link
Contributor

@stoty stoty left a comment

Choose a reason for hiding this comment

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

+1 LGTM

Don't forget to revert the default profile before committing.

@virajjasani
Copy link
Contributor

@sanjeet006py we still don't have full build results with 2.6 profile

@sanjeet006py
Copy link
Contributor Author

@sanjeet006py we still don't have full build results with 2.6 profile

Yes, one of my changes in the PR broke regions splits for local indexes. And, Phoenix version has been updated to 5.4.0 so, that also broke PR's build as I didn't sync latest from master.

@virajjasani
Copy link
Contributor

My bad, i thought 2.6 default profile was changed to 2.5. I misunderstood with 5.4 change

pom.xml Outdated
Comment on lines 58 to 63
<module>phoenix-client-parent</module>
<module>phoenix-client-parent/phoenix-client-embedded</module>
<module>phoenix-client-parent/phoenix-client-lite</module>
<module>phoenix-server</module>
<module>phoenix-mapreduce-byo-shaded-hbase</module>
<module>phoenix-assembly</module>
Copy link
Contributor

Choose a reason for hiding this comment

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

Curious, we need this change for checkstyle? It seems we should have had these modules defined here right? @stoty wdyt?

Copy link
Contributor

Choose a reason for hiding this comment

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

These shouldn't be listed here.
Adding these here will disable the build optimizations that enable quicker builds by skipping the shading steps.

Copy link
Contributor

Choose a reason for hiding this comment

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

See the comment above.

Copy link
Contributor Author

@sanjeet006py sanjeet006py Nov 24, 2025

Choose a reason for hiding this comment

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

Actually, I am seeing Javadoc failure after patch is applied saying above extra modules listed under shade-and-assembly profile for hbase-2.6 are not found. I thought adding them here might help me get past that but doesn't seem to be case. So, reverting this change. I will be posting a summary of unexpected failures I am seeing and would need help on that. Thanks

@sanjeet006py
Copy link
Contributor Author

@stoty @virajjasani I am seeing following issue with HBase 2.6 profile (using HBase 2.6.4):

Error related to Javadoc status check failure:

Mon 24 Nov 2025 05:50:43 AM UTC
cd /home/jenkins/jenkins-home/workspace/enix-PreCommit-GitHub-PR_PR-2291@2/yetus-general-check/src/phoenix-assembly
mvn --batch-mode -Dmaven.repo.local=/home/jenkins/jenkins-home/workspace/enix-PreCommit-GitHub-PR_PR-2291@2/yetus-m2/phoenix-master-patch-1 --threads=1 -DPhoenixPatchProcess -Dskip.code-coverage clean javadoc:javadoc -DskipTests=true
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Detecting the operating system and CPU architecture
[INFO] ------------------------------------------------------------------------
[INFO] os.detected.name: linux
[INFO] os.detected.arch: x86_64
[INFO] os.detected.bitness: 64
[INFO] os.detected.version: 5.15
[INFO] os.detected.version.major: 5
[INFO] os.detected.version.minor: 15
[INFO] os.detected.release: ubuntu
[INFO] os.detected.release.version: 20.04
[INFO] os.detected.release.like.ubuntu: true
[INFO] os.detected.release.like.debian: true
[INFO] os.detected.classifier: linux-x86_64
[INFO] 
[INFO] ----------------< org.apache.phoenix:phoenix-assembly >-----------------
[INFO] Building Phoenix Assembly 5.4.0-SNAPSHOT
[INFO] --------------------------------[ pom ]---------------------------------
[WARNING] The POM for org.apache.phoenix:phoenix-server-hbase-2.6:jar:5.4.0-SNAPSHOT is missing, no dependency information available
[WARNING] The POM for org.apache.phoenix:phoenix-mapreduce-byo-shaded-hbase-hbase-2.6:jar:5.4.0-SNAPSHOT is missing, no dependency information available
[WARNING] The POM for org.apache.phoenix:phoenix-client-embedded-hbase-2.6:jar:5.4.0-SNAPSHOT is missing, no dependency information available
[WARNING] The POM for org.apache.phoenix:phoenix-client-lite-hbase-2.6:jar:5.4.0-SNAPSHOT is missing, no dependency information available
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  2.814 s
[INFO] Finished at: 2025-11-24T05:50:48Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project phoenix-assembly: Could not resolve dependencies for project org.apache.phoenix:phoenix-assembly:pom:5.4.0-SNAPSHOT: The following artifacts could not be resolved: org.apache.phoenix:phoenix-server-hbase-2.6:jar:5.4.0-SNAPSHOT, org.apache.phoenix:phoenix-mapreduce-byo-shaded-hbase-hbase-2.6:jar:5.4.0-SNAPSHOT, org.apache.phoenix:phoenix-client-embedded-hbase-2.6:jar:5.4.0-SNAPSHOT, org.apache.phoenix:phoenix-client-lite-hbase-2.6:jar:5.4.0-SNAPSHOT: Could not find artifact org.apache.phoenix:phoenix-server-hbase-2.6:jar:5.4.0-SNAPSHOT -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException

The exact maven command is working fine locally for me. Any suggestions on how to fix this?

@stoty
Copy link
Contributor

stoty commented Nov 24, 2025

Ignore yetus errors if it works locally.

Yetus is known to have problems when the projexct structure changes

@sanjeet006py
Copy link
Contributor Author

All tests have succeeded with HBase 2.6.4 so, switching back to HBase 2.5 as default profile.

Copy link
Contributor

@haridsv haridsv left a comment

Choose a reason for hiding this comment

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

LGTM

Sign up for free to 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