yugaaank commented on issue #3099:
URL: https://github.com/apache/hugegraph/issues/3099#issuecomment-5048520098

   I've submitted [PR #3104](https://github.com/apache/hugegraph/pull/3104) 
with a self-contained `run-riscv64-smoke.sh` script that covers all test items 
listed in this issue.
   
   **What it tests:**
   - Architecture assertion (`uname -m == riscv64`)
   - RocksDB JNI open/put/get/close — compiles a small Java program on the host 
(x86), runs it inside the riscv64 container against `rocksdbjni` to verify the 
JNI + libatomic linkage works
   - HugeGraph init + health — reuses the repo's own `docker-entrypoint.sh` 
(which runs `init-store.sh` before `start-hugegraph.sh`), polls `GET /graphs` 
until 200
   - REST schema CRUD — creates propertykey, vertexlabel, edgelabel, two 
vertices, and an edge, then asserts `GET /vertices` and `GET /edges` return 
data via jq
   - Gremlin query — `g.V().hasLabel("person").count() == 2` on port 8182 with 
the graph aliases binding
   - Restart + persistence — restarts the container, re-checks health, verifies 
vertices survived the restart
   
   **Key technical findings during development:**
   - The server returns gzip-compressed responses by default (`Accept: 
application/json` is ignored), so all curl calls use `--compressed`
   - `jq` must run inside the Docker container via `docker exec -i`, not on the 
host — the runtime image installs it but the host may not have it
   - The Gremlin endpoint is on port 8182 (not 8080), and requires `aliases: 
{"g":"__g_DEFAULT-hugegraph"}` binding to resolve the graph traversal source
   - `-XX:G1RSetUpdatingPauseTimePercent` is not supported on the Ubuntu 
OpenJDK 11 RISC-V build — the script strips it from `hugegraph-server.sh`
   - `LD_PRELOAD=/usr/lib/libatomic.so.1` is required for `rocksdbjni`'s 
`__atomic_compare_exchange_1` symbol on RISC-V
   - The analyzer dictionary loads twice under QEMU (~3.5 min each), so the 
startup timeout is raised to 1800s and the health check timeout to 3600s
   - `--memory=4g` prevents host OOM under QEMU emulation
   
   **Design:** Single self-contained script with full cleanup via EXIT trap 
(removes container, volume, image, and temp dirs). Supports `KEEP=1` for live 
debugging and accepts a pre-built tarball to skip the Maven build. Output 
matches the expected format from this issue.
   


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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to