wei.cao

Results 3 comments of wei.cao

我这边也遇到这个问题,是用的file模式。定位到,read_kv中获得的kv_hdr.len是-1。这个现象在我这边每隔一段时间就会出现,都伴随GC回收空间的操作。 请问你最终解决了吗? ![image](https://github.com/user-attachments/assets/af2ca126-91d9-40dc-9553-f81979fcc9ba)

好吧。我的问题是FILE模式下的cache处理有问题,把FDB_KV_CACHE_TABLE_SIZE禁掉反而好了。

[log.txt](https://github.com/user-attachments/files/20436057/log.txt) 简要描述下我的使用场景,我分配了一个数据库(名称为info)用来存储运行信息,有一个进程(方便描述这个进程名称比如叫updater)会不停更新这个info数据库,此外还有个info指令用来读取这个数据库的value(事实上就是调用fdb_kv_print来打印value)。我用301043这个key来测试的,发现updater一直跑着的时候,不停执行info 301043经常会出现读不到value的现象,进一步测试就发现日志里的 Error: Read the KV (301048@0x000021CE) CRC32 check failed!的现象,这些现象一般都伴随着gc执行后出现。 我之前怀疑是updater和info进程加锁操作有问题,进程间的同步我用的信号量,测试是没问题的。我对gc的触发不是很清楚,所以发出来让大佬帮忙一起看看。 非常谢谢。 > > 好吧。我的问题是FILE模式下的cache处理有问题,把FDB_KV_CACHE_TABLE_SIZE禁掉反而好了。 > > 我也每天都在用 file 模式,还没有遇到你的说的问题,大概是咋样的使用场景?