Skip to content

refactor: clarify metadata state machine boundaries#6

Merged
GatewayJ merged 4 commits into
Demoio:mainfrom
GatewayJ:refactor/metadata-state-machine-boundaries-rebased
Apr 29, 2026
Merged

refactor: clarify metadata state machine boundaries#6
GatewayJ merged 4 commits into
Demoio:mainfrom
GatewayJ:refactor/metadata-state-machine-boundaries-rebased

Conversation

@GatewayJ
Copy link
Copy Markdown
Member

Summary

  • Split metadata commands and state machine logic out of the gRPC service adapter
  • Separate feature-gated local Raft propose boundary from RocksDB persistence primitives
  • Add defensive snapshot decoding, safer snapshot temp files, and regression coverage for failed command state preservation

Test Plan

  • cargo fmt --all -- --check
  • cargo test --workspace --lib
  • cargo check --workspace --all-targets
  • cargo test -p coldstore-metadata --lib --features metadata-raft
  • cargo test -p coldstore-metadata --lib --features metadata-raft-rocksdb
  • cargo clippy --workspace --all-targets -- -D warnings
  • cargo clippy -p coldstore-metadata --all-targets --features metadata-raft -- -D warnings
  • cargo clippy -p coldstore-metadata --lib --features metadata-raft-rocksdb -- -D warnings

Safety

  • Does not start real services
  • Does not access Tape/SPDK devices
  • Keeps Raft/RocksDB paths feature-gated and opt-in

@GatewayJ GatewayJ merged commit 1f2c02e into Demoio:main Apr 29, 2026
1 check passed
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