bitflicker64 opened a new issue, #3118:
URL: https://github.com/apache/hugegraph/issues/3118

   ## Problem
   
   `bin/init-store.sh` always runs full local setup (scan `./conf/graphs`, init 
non-hstore backends, create admin user). That is right for standalone / tarball 
installs.
   
   For HStore / PD mode the storage side already owns metadata. Server should 
start and register with PD. Forcing a full local init on every path makes 
Kubernetes and Helm harder than they need to be (one-shot Jobs, skip-init 
workarounds on Server pods).
   
   There is already a Server option for local graph config:
   
   - key: `graph.load_from_local_config`
   - `ServerOptions.GRAPH_LOAD_FROM_LOCAL_CONFIG`
   - used by `GraphManager` when deciding whether to load graphs from 
`./conf/graphs`
   
   `InitStore` does not look at that flag today.
   
   ## Proposal
   
   Teach `InitStore` to honor the same property, with **standalone-safe** 
defaults:
   
   | `rest-server.properties` | `init-store` |
   |--------------------------|--------------|
   | key **unset** (current shipped defaults) | **full init** (same as master) |
   | explicit **`false`** | no-op, WARN, exit 0 |
   | explicit **`true`** | full init |
   
   Details:
   
   - Skip only when the key is **present** and false. Missing key must not 
skip. `ServerOptions` typed default is false for GraphManager; treating 
"missing" as skip would break bare tarball `init-store.sh`.
   - Map Docker env `HG_SERVER_LOAD_FROM_LOCAL_CONFIG` into 
`rest-server.properties` (the file `init-store.sh` already passes to Java).
   - Helm / distributed can set the env (or property) to `false` so Server does 
not re-init local storage.
   - No change to the `ServerOptions` default itself.
   
   ## Scope
   
   In scope:
   
   - `InitStore.java` early exit
   - Docker entrypoint env mapping
   - unit tests for unset / false / true
   
   Out of scope:
   
   - Helm chart Job / `HG_SERVER_SKIP_INIT` changes
   - `util.sh` / `check_port` / lsof (tracked separately, e.g. #3105)
   - changing GraphManager behavior beyond sharing the existing option name
   
   ## Why this shape
   
   Community still supports standalone and multi-backend installs, so default 
behavior of `init-store` should stay as it is today. Distributed / HStore needs 
an explicit opt-out so cluster installs do not fight local init.
   
   ## Related
   
   I can open a PR that implements the above once this issue is filed.
   


-- 
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]

Reply via email to