Skip to content

kvspace-durable: 删除 byte kind,slack 后缀统一 uint8 - #33

Merged
miaobyte merged 1 commit into
mainfrom
array2d/refactor/drop-byte-kind
Oct 7, 2026
Merged

miaobyte merged 1 commit into
mainfrom
array2d/refactor/drop-byte-kind

Conversation

@miaobyte

@miaobyte miaobyte commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

变更

删除 XValue 的 byte kind,slack 后缀统一为 uint8。

  • src/headlenpow.rs:slack_count 的 "byte" 分支 → "uint8";reserve 的 slack 白名单 "byte" → "uint8"
  • src/metadata.rs:ro/vid sidecar 线上格式 [5]byte → [5]uint8
  • src/xvalue.rs:encode_head 去掉 "byte" 分支(公共 encode 入口;sidecar 走 headlenpow::encode 直呼,不经过此处)

⚠️ 破坏性:ro/vid sidecar 线上编码变更

本次改变了 /.kvspace-meta/<hex> sidecar 的 langtype([5]byte → [5]uint8)。既有磁盘 / 对象存储上的 ro/vid 元数据无法解码,需重建(key 的数据本体不受影响,只是 ro/vid 两个字段读不出来)。这是已接受的破坏性代价。

验证

$ cargo test
unittests src/lib.rs : 34 passed; 0 failed
tests/cp.rs          :  2 passed; 0 failed; 1 ignored
tests/map_coord.rs   :  2 passed; 0 failed; 1 ignored
tests/metadata_fs.rs :  4 passed; 0 failed
tests/prefix_list.rs :  6 passed; 0 failed

metadata::tests::metadata_roundtrip 真实走 encode → decode 往返(并含负面断言 data[64]=2 → None),确认测的是新格式。

- headlenpow 的 slack_count / reserve 白名单 "byte" → "uint8"
- ro/vid sidecar 线上格式 [5]byte → [5]uint8(破坏性:存量数据需重建)
- xvalue::encode_head 去掉 "byte" 分支(公共 encode 入口;sidecar 走 headlenpow 不受影响)

Co-Authored-By: Claude Code <noreply@anthropic.com>
@miaobyte
miaobyte merged commit 176e8dc into main Oct 7, 2026
4 checks passed
@miaobyte
miaobyte deleted the array2d/refactor/drop-byte-kind branch October 7, 2026 14:57
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