hugegraph-sync/hugegraph-server
KAI de62d97f34
fix(server): configure finite DNS cache TTL (#3126)
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>
2026-08-04 21:24:18 +08:00
..
hugegraph-api chore(server): remove outdated backends code (#3116) 2026-07-27 17:39:54 +08:00
hugegraph-core fix(server): handle repeated range predicates correctly (#3122) 2026-07-28 21:12:26 +08:00
hugegraph-dist fix(server): configure finite DNS cache TTL (#3126) 2026-08-04 21:24:18 +08:00
hugegraph-example chore(server): remove outdated backends code (#3116) 2026-07-27 17:39:54 +08:00
hugegraph-hbase feat(server): use HBase 2.6 to replace hbase-shaded & support docker-compose way (#3021) 2026-05-22 11:27:05 +08:00
hugegraph-hstore chore(server): remove outdated backends code (#3116) 2026-07-27 17:39:54 +08:00
hugegraph-rocksdb refactor(server): optimize rockdb batch query perf (#2982) 2026-06-05 11:13:49 +08:00
hugegraph-test fix(server): handle repeated range predicates correctly (#3122) 2026-07-28 21:12:26 +08:00
AGENTS.md chore(server): remove outdated backends code (#3116) 2026-07-27 17:39:54 +08:00
Dockerfile refactor: replace lsof port preflight with ss/netstat (#3105) 2026-08-03 17:25:00 +08:00
Dockerfile-hstore refactor: replace lsof port preflight with ss/netstat (#3105) 2026-08-03 17:25:00 +08:00
README.md chore(server): remove outdated backends code (#3116) 2026-07-27 17:39:54 +08:00
pom.xml chore(server): remove outdated backends code (#3116) 2026-07-27 17:39:54 +08:00

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.72.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. The latest tag 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)