Skip to content

refactor(master): drop RocksDB backend, etcd-only scheduler#157

Merged
beinan merged 1 commit into
mainfrom
feat/master-etcd-only
Jul 16, 2026
Merged

refactor(master): drop RocksDB backend, etcd-only scheduler#157
beinan merged 1 commit into
mainfrom
feat/master-etcd-only

Conversation

@beinan

@beinan beinan commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Remove the single-master RocksDB scheduler backend entirely. The master is now always etcd-backed and horizontally scalable — no TASK_STORE_BACKEND switch, no TASK_DB_PATH, no rocksdb dependency.
  • TaskStore wraps EtcdTaskStore directly (deleted RocksTaskStore and the TaskStoreInner/ClaimBackend/GuardBackend enums).
  • ETCD_ENDPOINTS is now required to start the master.
  • Deploy: delete the RocksDB master.yaml, promote master-etcd.yamlmaster.yaml, rewrite the k8s README for etcd-only.

Testing

  • cargo build --workspace ✅, cargo clippy -p lance-context-master --tests ✅ (clean), cargo fmt
  • cargo test -p lance-context-master: 7 passed, 17 ignored. Unit tests that build MasterState/TaskStore need a live etcd and are gated behind ETCD_TEST_ENDPOINTS (#[ignore]). Added connect_requires_etcd_endpoints.

Note

Branched fresh from main (which already carries the etcd backend, #154). Supersedes the single-master RocksDB lease work in #155 — with RocksDB gone, that guard is unnecessary.

🤖 Generated with Claude Code

…store

The RocksDB scheduler backend only ever supported a single master. Remove it
entirely so the master is always stateless and horizontally scalable:

- delete RocksTaskStore and the TaskStoreInner/ClaimBackend/GuardBackend enums;
  TaskStore now wraps EtcdTaskStore directly
- remove TaskStoreBackend enum, TASK_STORE_BACKEND, and TASK_DB_PATH config
- drop the rocksdb dependency
- ETCD_ENDPOINTS is now required to start the master
- unit tests that build MasterState/TaskStore now need a live etcd and are
  gated behind ETCD_TEST_ENDPOINTS (#[ignore]); add connect_requires_etcd_endpoints
- deploy: delete rocksdb master.yaml, promote master-etcd.yaml to master.yaml,
  rewrite the kubernetes README for etcd-only

Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
@beinan
beinan merged commit 0df27d5 into main Jul 16, 2026
9 checks passed
@beinan
beinan deleted the feat/master-etcd-only branch July 16, 2026 19:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant