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]