vaijosh opened a new pull request, #3021:
URL: https://github.com/apache/hugegraph/pull/3021

   ## Title
   feat(hbase): upgrade to HBase 2.6.5 and replace custom shaded endpoint with 
official Apache artifacts
   
   ## Background
   This PR modernizes HugeGraph’s HBase integration by replacing the custom 
`hbase-shaded-endpoint` dependency with official Apache HBase 2.6.5 artifacts, 
and adds a reproducible Docker-based local test environment for HBase backend 
development/verification.
   
   ## What changed
   
   ### 1) HBase dependency upgrade (`hugegraph-server/hugegraph-hbase/pom.xml`)
   - Added `hbase.version` property: `2.6.5`
   - Replaced:
     - `com.baidu.hugegraph:hbase-shaded-endpoint:2.0.6`
   - With:
     - `org.apache.hbase:hbase-endpoint:${hbase.version}`
     - `org.apache.hbase:hbase-shaded-client:${hbase.version}`
   - Added exclusions on `hbase-endpoint` to avoid pulling heavyweight 
server/hadoop transitive components not needed by HugeGraph runtime.
   - Kept dependency order (`hbase-endpoint` before `hbase-shaded-client`) to 
preserve `AggregationClient`/`LongColumnInterpreter` compatibility.
   
   ### 2) Dockerized HBase standalone environment (new files under 
`docker/hbase/`)
   - Added `Dockerfile` to build HBase `2.6.5` image from official Apache 
tarballs.
   - Added SHA512 verification with strict default behavior and mirror fallback:
     - primary: `downloads.apache.org`
     - fallback: `archive.apache.org`
   - Added robust checksum parsing to support Apache `.sha512` formats.
   - Added `entrypoint.sh` that starts ZooKeeper + Master + RegionServer and 
blocks until service readiness.
   - Added `hbase-site.xml` tuned for local standalone/pseudo-distributed usage 
and HugeGraph defaults.
   - Added `docker-compose.hbase.yml` with ports, healthcheck, persistent 
volumes, and overridable download URLs.
   
   ### 3) End-to-end usage and troubleshooting docs (`docker/HBASE.md`)
   - Added full guide for:
     - starting/stopping HBase in Docker
     - HugeGraph server config/init for HBase backend
     - API sanity checks (schema + vertex + gremlin)
     - troubleshooting common issues and cleanup
   
   ### 4) Dependency allowlist update 
(`install-dist/scripts/dependency/known-dependencies.txt`)
   - Removed: `hbase-shaded-endpoint-2.0.6.jar`
   - Added:
     - `hbase-endpoint-2.6.5.jar`
     - `hbase-shaded-client-2.6.5.jar`
   
   ## Why
   - Align HugeGraph HBase integration with official Apache HBase artifacts.
   - Remove reliance on custom shaded endpoint packaging.
   - Provide a consistent and secure local HBase test setup for contributors 
and CI-like reproduction.
   - Reduce build/setup friction with documented and reproducible steps.
   
   ## Impact
   - Scope is limited to HBase module dependencies, Docker test tooling, and 
dependency metadata/docs.
   - Existing non-HBase backends are not directly affected.
   
   ## How to verify
   ```bash
   docker compose -f docker/hbase/docker-compose.hbase.yml build --no-cache 
hbase
   docker compose -f docker/hbase/docker-compose.hbase.yml up -d
   docker compose -f docker/hbase/docker-compose.hbase.yml ps
   
   mvn clean install -pl hugegraph-server/hugegraph-hbase -am -DskipTests
   
   bash install-dist/scripts/dependency/check_dependencies.sh
   ```
   
   ## Notes
   SHA512 verification remains enforced by default during Docker image build.
   ALLOW_UNVERIFIED_DOWNLOAD=true is intended only for trusted/restricted test 
environments.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to