1. A Store pod is replaced in Kubernetes and comes back on a new IP behind the same stable DNS name. 2. HugeGraph Server runs with `HugeSecurityManager` installed by default. 3. With a `SecurityManager` present and no explicit policy, Java 11 falls back to `networkaddress.cache.ttl = -1`, so `InetAddressCachePolicy` is `FOREVER`. 4. The Server therefore keeps resolving the Store name to the old pod IP, and HStore writes keep going to an address that no longer exists. 5. Nothing recovers this until the Server process is restarted. The setting is only honoured as a **security** property. The ordinary `-Dnetworkaddress.cache.ttl` system property has no effect here, which is why that form is deliberately not used. --------- Co-authored-by: imbajin <jin@apache.org> |
||
|---|---|---|
| .. | ||
| hugegraph-api | ||
| hugegraph-core | ||
| hugegraph-dist | ||
| hugegraph-example | ||
| hugegraph-hbase | ||
| hugegraph-hstore | ||
| hugegraph-rocksdb | ||
| hugegraph-test | ||
| AGENTS.md | ||
| Dockerfile | ||
| Dockerfile-hstore | ||
| README.md | ||
| pom.xml | ||
README.md
HugeGraph Server
HugeGraph Server consists of two layers of functionality: the graph engine layer, and the storage layer.
-
Graph Engine Layer:
- REST Server: Provides a RESTful API for querying graph/schema information, supports the Gremlin and Cypher query languages, and offers APIs for service monitoring and operations.
- Graph Engine: Supports both OLTP and OLAP graph computation types, with OLTP implementing the Apache TinkerPop3 framework.
- Backend Interface: Implements the storage of graph data to the backend.
-
Storage Layer:
- Storage Backend: Includes RocksDB (default, embedded), HStore (distributed), HBase (deprecated and planned for removal in 2.0), and the test-only Memory backend. Users can extend custom backends without modifying the existing source code.
Backend Evolution and Compatibility
The current mainline does not include implementations for the historical backends. The following timeline distinguishes current support from legacy compatibility guidance:
┌─────────────────────────┐ ┌─────────────────────────┐ ┌─────────────────────────┐
│ 1.0 │ │ 1.5 │ │ 2.x │
│ Historical era │ │ Compatibility boundary │ │ Future roadmap │
│ │ │ ↓ │ │ │
│ MySQL · PostgreSQL │────▶│ 1.7–2.0 mainline │────▶│ RocksDB · HStore │
│ Cassandra · ScyllaDB │ │ RocksDB · HStore │ │ │
│ Palo · HBase │ │ HBase: deprecated │ │ (HBase: removed) │
└─────────────────────────┘ └─────────────────────────┘ └─────────────────────────┘
Memory remains a test-only backend throughout. Historical backend users must operate and maintain a compatible release; these implementations are not restored to the current source tree or distribution packages.
Docker
Standalone Mode
docker run -itd --name=hugegraph -p 8080:8080 hugegraph/hugegraph:1.7.0
Use release tags (e.g.,
1.7.0) for stable deployments. Thelatesttag is intended for testing or development only.
Distributed Mode (PD + Store + Server)
For a full distributed deployment, use the compose file in the docker/ directory at the repository root:
cd docker
HUGEGRAPH_VERSION=1.7.0 docker compose -f docker-compose-3pd-3store-3server.yml up -d
See docker/README.md for the full setup guide.
RISC-V Development and Testing
The RISC-V Server CI validates a RocksDB-only Server build and runtime smoke test on 64-bit Linux RISC-V through QEMU. It is a correctness check, not a performance benchmark. (other backends & non-64-bit Linux RISC-V environments are out of scope)