#2521·mempalace

在没有 sidecars 的 WAL 数据库上,mempalace-native: read-only open 失败

作者: igorls创建于 2026年9月15日更新于 2026年9月15日

** 发生了什么**

VerctorIndex:load from sqlite' (crates/mempalace-core/src/lib.rs')打开了sqlite-exact'数据库,数据库有SQLITE OPEN READ ONLY QLITE OPEN URI'. 一个干净的WAL-mode数据库通常在其上个作者关闭后没有-wal'/-shm'侧车,在SQLite上,无法通过只读连接创建共享记忆索引,但与`SQLITE CANTOPEN'失效。 这是Python为#2489(Apple's system SQLite)而固定在Python一侧的同一类故障等级.

** 影响**

  • 在MemPalace内,RustExactCollection. ensure native index'捕获负载错误,记录未装入Rust本地矢量指数',查询回溯到Python-sqlite-exact'路径,因此`rust-exact'悄悄地失去其本地速度而不是失败。
  • 独立的mempalace-native'可执行性没有倒退,因此,stats'/bench'/search'在这样一个数据库上失效。

** 预期**

Mirror `config.connect sqlite read':当文件为WAL(标题为字节18 == 2),且两台侧车都不在时,打开读写(或以其他方式建立WAL索引),而不是只读.

由Copilot在#2519(审查v3.10.0晋升)上提出,并与开发'@ce54d5d'进行核查。 默认安装时不是发布屏蔽器 .

内容来源: MemPalace/mempalace