首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RocksDB密码错误消息

RocksDB密码错误消息
EN

Stack Overflow用户
提问于 2015-09-07 18:12:43
回答 3查看 488关注 0票数 0

有人知道这个RocksDB错误指的是什么吗?

rocksdb::ColumnFamilyData::~ColumnFamilyData():断言`refs_ == 0‘失败。中止(核心倾弃)

EN

回答 3

Stack Overflow用户

发布于 2015-09-22 10:29:06

这是RocksDB引发的断言失败,它有意终止程序的执行。

一般来说,断言被程序员用来确保程序中的某些不变量。断言有一些运行时开销,因此可以完全禁用。它们通常被编译到开发或调试构建中,但是对于生产生成则被省略。

当断言失败时,程序执行将通过调用std::abort故意立即中止。这可能会导致您的操作系统编写一个内核转储(正如上面的消息所显示的那样),但是编写核心转储的方式和位置取决于操作系统配置。

在这种特定断言的情况下,rocksdb::ColumnFamilyData的析构函数引发断言,因为它要求其refs_成员的值为0。refs_是一个引用计数器,当对象的析构函数被调用时,断言没有实际保存引用是有意义的。

仅仅看一下析构函数代码,就不清楚这是RocksDB库本身的错误,还是错误地使用它所导致的错误,例如,当其他对象仍在使用列族对象时销毁它们。

作为参考,下面是引发断言的代码部分(当前在rocksdb/db/column_Famy.cc文件中的第365行):

代码语言:javascript
复制
ColumnFamilyData::~ColumnFamilyData() {
  assert(refs_.load(std::memory_order_relaxed) == 0);

如果错误仍然存在,如果在这里提供使用RocksDB的代码,可能会很有用。否则,可能无法找到错误源。核心转储还可能提供有用的信息,因为它包含实际调用对象的析构函数的代码的堆栈跟踪。

票数 2
EN

Stack Overflow用户

发布于 2016-03-24 09:03:38

我注意到,所有column_family.cc错误(core_dumped、memory_order_relaxed等)都发生在不正确的rocksdb安装之后。在我的漫游者剧本里我找到了真正的方法。

而不是使用https://github.com/facebook/rocksdb/blob/master/INSTALL.md

我创建脚本

代码语言:javascript
复制
cd /opt 
git clone https://github.com/facebook/rocksdb.git
cd rocksdb
git checkout tags/v4.1

PORTABLE=1 make shared_lib
export LD_LIBRARY_PATH=/opt/rocksdb

LD_LIBRARY_PATH更好地添加到您的环境路径(.bash_rc或/etc/环境)

票数 0
EN

Stack Overflow用户

发布于 2016-09-23 21:40:11

断言refs_ == 0~ColumnFamilyData()上失败意味着当列族被删除时,列族的引用计数不是零。很可能在关闭DB之前,您有一些未删除的列族句柄。注意,在关闭DB之前,必须删除所有列族句柄。否则断言将失败。

代码语言:javascript
复制
// Before delete DB, you have to close All column families by calling
// DestroyColumnFamilyHandle() with all the handles.
static Status Open(const DBOptions& db_options, const std::string& name,
                   const std::vector<ColumnFamilyDescriptor>& column_families,
                   std::vector<ColumnFamilyHandle*>* handles, DB** dbptr);

若要修复此类断言失败,请确保在关闭DB之前删除所有列系列句柄。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32444126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档