如果误删了某个属性,目前还没有compact 能恢复吗

提问参考模版:

  • nebula 版本:v3.4.1
  • 部署方式: 分布式
  • 安装方式: RPM
  • 是否上生产环境:Y
  • 硬件信息
    • 磁盘( 推荐使用 SSD)
    • CPU、内存信息
  • 问题的具体描述
    想要执行alter tag TagName drop(name1) 误操作执行了 alter tag TagName drop(name)
    目前还没有进行compact 逻辑上数据还在,我尝试重新添加name 属性时报错
    [ERROR (-1005)]: Schema exisited before!
    请问这个有办法回滚或者恢复吗

如果是社区版,可以考虑修改一下tagname的逻辑,允许插入,然后将schema修复过去。也可以考虑直接参考对应的key编码策略,直接打开rocksdb写入。

如果你需要帮助也许可以出一个pr来允许强制写入。(但数据目前的安全性不能保证,误操作之后应该尽快停机)

是社区版本。
这提到的两个办法是指修改源码重新编译之后的版本吗? 目前正在运行的集群如何修复回去呢

嗯,是需要重新编译。运行的集群不能修改元数据。可以考虑一个meta一个meta的替换二进制,可以保证业务不中断(当然最好是能实验一下。。。最麻烦的问题是有些数据可能已经丢了。。。有之前的checkpoint也还好。

了解了,感谢 :thinking:

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。