vinchen
vinchen
文件是否被非法移除 希望可以重现一下
可参考这个配置测试一下 http://tendis.cn/#/Tendisplus/%E8%BF%90%E7%BB%B4/conf_templ 重点关注这两个参数 netiothreadnum 8 executorthreadnum 56
确认下 `config get noexpire` 是不是yes? 这个配置参数表示不开启过期
你好 tendis的KV数据过期是通过rocksdb的compaction行为进行清理的,如果数据写入后停止写入,rocksdb也不会触发compaction,所以空间没有清理。如果数据持续写入,已过期的数据会进行数据清理。 如果希望通过马上释放这部分空间,可以执行[`reshape`](http://tendis.cn/#/Tendisplus/%E5%91%BD%E4%BB%A4/reshape?id=reshape)指令,强制执行全量compaction. 另外,部分空间也可能是binlog占用的 可以设置以下参数,只保留最近10分钟的binlog maxbinlogkeepnum 1 minbinlogkeepsec 600 但binlog空间清理也是后台行为,也是需要通过compaction来释放。
log除了这个输出外,有没其他信息 另外,`info all`和`cluster nodes`也提供一下
We have never build tendis in macOS before. We would check it later. Thanks for issue.
``` # a @ a-pc in ~/WorkSpace/tendisplus/tendisplus-2.1.2-rocksdb-v5.13.4/scripts/slave/dump $ ../../../bin/binlog_tool --logfile=9/binlog-9-0000001-20210121115133.log storeid:9 binlogid:1 txnid:34333 chunkid:15759 ts:1611231479844 cmdstr:set op:1 fkey:i skey: opvalue:9 # a @ a-pc in ~/WorkSpace/tendisplus/tendisplus-2.1.2-rocksdb-v5.13.4/scripts/slave/dump $ ../../../bin/binlog_tool --logfile=8/binlog-8-0000002-20210121113821.log storeid:8...
可以将`kvstorecount 1`加入到配置中,只有一个rocksdb,再试一下 这样所有binlog都会一个目录中,便于分析 然后将执行的命令,配置,binlogtool的结果都发出来一起看看
因为Tendis目前实现上总保留了一个binlog在rocksdb中,由这个参数控制`slaveBinlogKeepNum`,所以最后一个没有导出。 如果想导出,可以保证有持续的操作,或者额外写一个监控数据产生一条binlog 后续计划增加一个心跳binlog来保证长时间没有操作的实例,binlog可以及时导出。
目前这个最小值就是1,这个问题我们优化下