You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
benchmarks: the strict class glues the flush flag onto every argument of the native server command #573
The strict durability class never starts a served ArcadeDB native server: the cell records server_not_ready and the container exits at start with error: Invalid option '-Xmx4g -Darcadedb.txWalFlush=1' does not specify a valid number.
The cause is durability_server_patch in benchmarks/experiments/runner.py. For the native server arm the settings are command-line arguments, and each item of server_cmd is one argument. The strict branch maps _set_tx_wal_flush over every string item of that list, and the helper appends -Darcadedb.txWalFlush=1 to any string that lacks the token. So -Xmx4g and every -D... item became one argument with a space inside, and the native runtime read 4g -Darcadedb.txWalFlush=1 as the heap size. The JVM server arm is not affected: it carries all flags in one JAVA_OPTS string, where the helper is right.
Affected: the strict class of every served ArcadeDB native arm. Not affected: the JVM served arms and the relaxed class. The existing test_native_server_arm.py::test_the_strict_patch_reaches_the_native_command_line_too only keeps items that start with the token, so the damaged items were invisible to it.
The fix replaces only the item that starts with -Darcadedb.txWalFlush= by the literal token and leaves every other item untouched. The new benchmarks/experiments/test_native_strict_argv.py builds the native command for each served arm in both classes and asserts that every item is one argument with no whitespace, that strict differs from relaxed in exactly the flush item (0 to 1), and that the JVM arm still gets the flag as one token in JAVA_OPTS.
Acceptance: the new test fails on the old code and passes on the new. A cell that fails this way is a recorded failure, not a result, so no row that exists changes.
The native arm code is in #554 and not on main yet, so the pull request targets that branch.
Activity
benchmarks: the native strict argv test copies the backend table at i…
benchmarks: the strict class replaces only the flush item of the nati…