Skip to content

db_bench的过程中vlog_fetch.c parse函数的assert通过不了 #9

@WangTingZheng

Description

@WangTingZheng

运行db_bench出现下面的结果

db_bench: /mnt/b/Project/Clion/wisckey/db/vlog_fetcher.cc:15: leveldb::Status leveldb::vlog::Parse(leveldb::Slice*, std::string*): Assertion `(*r)[0] == kTypeValue' failed.

发现是parse某个数据的type不对

inline Status Parse(Slice* r, std::string* value) {
  Slice k, v;
  assert((*r)[0] == kTypeValue);
  r->remove_prefix(1);
  if (GetLengthPrefixedSlice(r, &k) && GetLengthPrefixedSlice(r, &v)) {
    value->assign(v.data(), v.size());
    return Status::OK();
  } else {
    return Status::Corruption("failed to decode value from vlog");
  }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions