Skip to content

0-kvspace/durable-fs 后端嵌套容器 memindex 取不回(目录 key get→nil,tutorial 06/11 FAIL) #250

Description

@miaobyte

背景

#244(子5/9)三后端验收时,durable-fs 后端 tutorial 为 16/18,两例 FAIL:

  • 06-deep-nest.sh
  • 11-extindex-tree.sh

durable-redis同一 codec在同一 tutorial 上 18/18 全绿,故此差异与 head 三正交轴 wire 迁移正交,属 fs 存储层缺口。

现象(根因方向)

fs 后端对目录 key(嵌套容器)的 get 返回 nil,redis 正常返回容器 XValue:

# redis
export KVSPACE=redis://127.0.0.1:6379; kvspace clear
kvspace set /d/ index:; kvspace set /d/a/ index:; kvspace set /d/a/x int:1
kvspace head /d/a/     # → /d/a/  index  ref=0 ro=0 vid=0 ndim=3 dims=[1,1,8]
kvspace list /d/       # → a/  index  (1)

# fs
export KVSPACE=fs:///tmp/kvspace-probe; rm -rf /tmp/kvspace-probe; kvspace clear
kvspace set /d/ index:; kvspace set /d/a/ index:; kvspace set /d/a/x int:1
kvspace head /d/a/     # → /d/a/  (nil)        ← 取不回
kvspace list /d/       # → a/                  ← 子目录丢 index (N) 元数据

体现在 tutorial:list 目录子项时,fs 的目录条目丢失 index (N) kind/计数;值+目录同名共存时 c/ 取回的是兄弟值而非容器。

判断

fs 存储层 flush/read 嵌套容器 · memindex key 的方式与 redis 后端不一致。需对齐两个 durable 后端在容器 memindex 上的落盘/读取语义(redis 为准)。

范围与优先级

关联 #244 #239

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions