feat: support bind_all in topology/update-conf and rocksdb store tuning fields in update-conf#435
Merged
Merged
Conversation
EloqKV only listens on the node's configured ip unless bind_all is set, so eloqctl-deployed nodes were unreachable via any other interface (e.g. loopback when deployed with an internal IP). Expose bind_all as an optional deployment field (default false, matching the eloqkv built-in default) and whitelist it for update-conf --fields. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Whitelist rocksdb_periodic_compaction_seconds and rocksdb_delete_obsolete_files_period_micros for update-conf --fields. EloqKV reads these keys from the [store] section, but update-conf inserted missing keys into [local] unconditionally, so also route new keys to the section a field belongs to (creating it when absent). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
zhangh43
approved these changes
Jul 7, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
EloqKV only listens on the node's configured
ipunlessbind_allis set (the gflags default isfalse), so eloqctl-deployed nodes were unreachable via any interface other than the deployment address — e.g.127.0.0.1refuses connections when a node is deployed with an internal IP. eloqctl had no way to set this key.Also completes #431: the RocksDB store tuning knobs were configurable via launch YAML but not via
update-conf.Changes
deployment.bind_alltopology field (defaultfalse, matching the eloqkv built-in default); written to the[local]section of the generatedEloqkv.ini, following the same pattern asenable_io_uring.bind_all=${OVERRIDE}to theEloqKv.initemplate.bind_allforeloqctl update-conf --fieldsso existing clusters can enable it without redeploying.rocksdb_periodic_compaction_secondsandrocksdb_delete_obsolete_files_period_microsforupdate-conf --fields. EloqKV reads these from the[store]section, but update-conf inserted missing keys into[local]unconditionally — new keys are now routed to the section the field belongs to (created when absent).src/cluster_mgr/upload/directory.Testing
cargo build/cargo build --releasecargo test --lib: all pass (note:test_s3_endpoint_written_to_store_and_txlog_iniis flaky when run in parallel withconfig::monitortests — pre-existing env-var race onUPLOAD_PATH_DIR, unrelated to this change; passes in isolation)bind_all=falseby default andbind_all=truewhen set in topology🤖 Generated with Claude Code