Skip to content

doc(server): sync backend-hbase with master - #477

Open
bitflicker64 wants to merge 1 commit into
apache:masterfrom
bitflicker64:doc-sync/server-backend-hbase
Open

doc(server): sync backend-hbase with master#477
bitflicker64 wants to merge 1 commit into
apache:masterfrom
bitflicker64:doc-sync/server-backend-hbase

Conversation

@bitflicker64

Copy link
Copy Markdown
Contributor

Syncs the HBase backend documentation with hugegraph master (36811483a). The HBase backend had no page of its own: the only coverage was the option table in config-option.md and four commented lines in config-guide.md, so the namespace and table layout, the Kerberos flow, the pre-split behavior, the supported HBase version and the local docker/hbase setup were undocumented.

page what was wrong what changed source (file:line on master)
config/config-backend-hbase.md (en, cn) page did not exist new page, weight: 7, using config-https.md as the frontmatter and layout template hugegraph-server/hugegraph-hbase/
config/config-backend-hbase.md no statement of the deprecation status overview notes the backend is deprecated and planned for removal in 2.0, and that 1.7.0+ ships only hstore, rocksdb, hbase, memory hugegraph-server/README.md:11, docker/hbase/README.md:5, hugegraph-server/hugegraph-dist/src/main/java/org/apache/hugegraph/dist/RegisterUtil.java:43
config/config-backend-hbase.md supported HBase version undocumented client jars pinned to 2.6.5, HBase 2.x required server side (pre-2.0 loses inclusive stop rows), CI and the Docker image use 2.6.5 hugegraph-server/hugegraph-hbase/pom.xml:31, hugegraph-server/hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/HbaseSessions.java:749, hugegraph-server/hugegraph-dist/src/assembly/travis/install-hbase.sh:22, docker/hbase/Dockerfile:21
config/config-backend-hbase.md how to select the backend undocumented backend=hbase plus serializer=hbase, with a note on why binary is not equivalent, plus the note that a rocksdb-only build has no HBase provider hugegraph-server/hugegraph-dist/src/main/java/org/apache/hugegraph/dist/RegisterUtil.java:93, hugegraph-server/hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/HbaseSerializer.java:29, hugegraph-server/hugegraph-test/pom.xml:310, hugegraph-server/hugegraph-dist/pom.xml:38
config/config-backend-hbase.md option list incomplete elsewhere all fifteen HbaseOptions keys with defaults, allowed ranges and the HBase property each one maps to, grouped as the Options class groups them hugegraph-server/hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/HbaseOptions.java:44-162, HbaseSessions.java:122-157
config/config-backend-hbase.md Kerberos flow undocumented the four Kerberos keys plus hbase.hbase_site, and what the backend sets on the connection when hbase.kerberos_enable=true; also that hbase.hbase_site is loaded regardless HbaseSessions.java:141-155
config/config-backend-hbase.md namespace and table layout undocumented namespace derivation (default_hugegraph by default), the three stores m/g/s and their table names, the single f column family, the aggregation coprocessor, which tables are pre-split, and the M meta table kept across truncate HbaseStoreProvider.java:26-30, hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendProviderFactory.java:61-70, hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendStoreProvider.java:28-30, HbaseTable.java:72, HbaseSessions.java:90-91, HbaseStore.java:270-289, HbaseStore.java:588-597
config/config-backend-hbase.md local test setup undocumented the docker/hbase compose flow, the advertised hostname variables, the five published ports, the maven profile to run the tests, and the teardown command docker/hbase/docker-compose.hbase.yml:19-62, docker/hbase/entrypoint.sh:20-51, docker/hbase/README.md:29-38
config/config-backend-hbase.md limitations undocumented the features the backend reports as unsupported, count-only aggregation, and that snapshots are unimplemented HbaseFeatures.java:30-141, HbaseTable.java:150-153, hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendStore.java:180-186

Paths in the source column are relative to the hugegraph repository root; the Hbase*.java files without a directory live in hugegraph-server/hugegraph-hbase/src/main/java/org/apache/hugegraph/backend/store/hbase/.

Only the two new pages are touched. Three problems found in pages owned by other modules are reported separately and left unedited: the hbase.krb5_conf default in config-option.md is written etc/krb5.conf instead of /etc/krb5.conf, hbase.truncate_timeout is missing from that table, and the hbase block quoted in config-guide.md predates the hbase.enable_partition / hbase.vertex_partitions / hbase.edge_partitions lines now in the shipped template.

Add the missing HBase backend configuration page in English and Chinese. It
documents the supported HBase version, how to select the backend, all fifteen
HbaseOptions keys with their defaults and value ranges grouped as the Options
class groups them, the Kerberos settings, the namespace and table layout, the
docker/hbase setup for local testing, and the features the backend reports as
unsupported.
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.

1 participant