docs(hbase): add HugeGraph Docker + HBase validation runbook (issue #…3030)#3041
Open
vaijosh wants to merge 1 commit into
Open
docs(hbase): add HugeGraph Docker + HBase validation runbook (issue #…3030)#3041vaijosh wants to merge 1 commit into
vaijosh wants to merge 1 commit into
Conversation
…pache#3030) - improved `docker/hbase/README.md`. Added sections for "Standalone HugeGraph" and "Docker HugeGraph" and steps to verify the hbase backend -Used the steps in README.md file to verify the issue apache#3030. It its unreproducible in latest master branch.
Contributor
There was a problem hiding this comment.
Pull request overview
Rewrites the docker/hbase/ HBase backend testing guide into a shorter dual-path runbook (standalone HugeGraph against Dockerized HBase, vs. fully containerized HugeGraph+HBase on a shared Docker network), and makes the HBase container's advertised hostname configurable so the same image works in both topologies. Originated from investigating issue #3030, which could not be reproduced on master; the underlying server change set is doc/operational only.
Changes:
- Restructures
docker/hbase/README.mdaround two explicit setup paths, adds REST traverser verification steps (/traversers/kout,/traversers/rays) and a troubleshooting table. - Adds
HBASE_HOSTNAME/HBASE_MASTER_HOSTNAME/HBASE_REGIONSERVER_HOSTNAMEenv wiring indocker-compose.hbase.ymlwith ahbasefallback. - Adds a
set_xml_property_valuehelper inentrypoint.shthat rewriteshbase.master.hostnameandhbase.regionserver.hostnameinhbase-site.xmlat container start.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| docker/hbase/README.md | Replaces the long testing guide with a two-path runbook and adds REST verification + troubleshooting table. |
| docker/hbase/docker-compose.hbase.yml | Makes container hostname configurable and forwards HBase hostname env vars into the container. |
| docker/hbase/entrypoint.sh | Patches hbase-site.xml master/regionserver hostnames at runtime from env vars before starting daemons. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| docker compose -p hg-hbase -f docker/hbase/docker-compose.hbase.yml down -v | ||
| docker compose -p hg-hbase -f docker/hbase/docker-compose.hbase.yml build --no-cache hbase | ||
| docker compose -p hg-hbase -f docker/hbase/docker-compose.hbase.yml up -d | ||
| docker compose -p hg-hbase -f docker/hbase/docker-compose.hbase.yml logs -f hbase |
| docker compose -p hg-hbase -f docker/hbase/docker-compose.hbase.yml down -v | ||
| docker compose -p hg-hbase -f docker/hbase/docker-compose.hbase.yml build --no-cache hbase | ||
| HBASE_HOSTNAME=hbase docker compose -p hg-hbase -f docker/hbase/docker-compose.hbase.yml up -d | ||
| docker compose -p hg-hbase -f docker/hbase/docker-compose.hbase.yml logs -f hbase |
Comment on lines
259
to
262
| ```bash | ||
| docker exec hg-hbase-test bash -c ' | ||
| for t in $(echo "list" | hbase shell -n 2>/dev/null | grep "^default_hugegraph"); do | ||
| echo "disable '"'"'$t'"'"'; drop '"'"'$t'"'"'" | ||
| done | hbase shell | ||
| ' | ||
| docker rm -f hg-server-dev-hbase | ||
| docker compose -p hg-hbase -f docker/hbase/docker-compose.hbase.yml down -v | ||
| ``` |
Comment on lines
+29
to
+38
| set_xml_property_value() { | ||
| local property_name="$1" | ||
| local property_value | ||
| property_value=$(escape_sed_replacement "$2") | ||
|
|
||
| sed -i "/<name>${property_name//./\\.}<\\/name>/ {n; s|<value>.*</value>|<value>${property_value}</value>|;}" "${HBASE_SITE_XML}" | ||
| } | ||
|
|
||
| set_xml_property_value "hbase.master.hostname" "${HBASE_MASTER_HOSTNAME}" | ||
| set_xml_property_value "hbase.regionserver.hostname" "${HBASE_REGIONSERVER_HOSTNAME}" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
While investigating issue #3030, the underlying bug could not be directly reproduced on the current master branch. However, during the investigation, I identified several improvements for docker/hbase/README.md that will be useful for verifying HBase-related issues in the future.
Specifically, this PR splits the local verification process into two clear paths (Standalone vs. Fully Containerized). It also enhances the HBase Docker artifacts by making hbase.master.hostname and hbase.regionserver.hostname fully configurable via environment variables.
Main Changes
1. Documentation Updates (
docker/hbase/README.md)perlscripts to dynamically swap backend/serializer properties (rocksdbhbase) and rewrite host configurations on the fly./traversers/REST APIs (kout,rays) to securely validate graph space persistence.UnknownHostExceptionor port conflicts) directly to their respective resolutions.2. Docker Environments (
docker/hbase/)docker-compose.hbase.yml): Replaced hardcoded hostnames with a configurable environment variable fallback (${HBASE_HOSTNAME:-hbase}).entrypoint.sh): Added aset_xml_property_valuehelper function inside the entrypoint sequence. This cleanly updateshbase.master.hostnameandhbase.regionserver.hostnameconfigurations insidehbase-site.xmlat runtime based on the container environment.Verifying of the issue
Verified the issue as follows
mvn clean package -DskipTests), initializing the store backend (init-store.sh), and running the sequential REST traversal scripts.hugegraph/server:devtarget image and executing the one-shot store initializations inside an isolated container network.hugegraph-serverlogs were entirely clean of the targeted warnings during operation; specifically, no instances of the following log patterns were observed:Does this PR potentially affect the following parts?
Documentation Status
Doc - Done(The primary objective of this PR is introducing the HBase validation runbook docs)