码迷,mamicode.com
首页 > 数据库 > 详细

确定mapkeeper使用的leverdb库路径

时间:2017-10-05 11:04:21      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:read   ble   一点   linux   缓存   eve   put   write   stat   

目前libleveldb的a或so库有三个路径,/usr/lib, /usr/lib/x86_64-linux-gnu , /usr/local/lib

 使用

ls -d -1 /usr/lib/*  /usr/lib/x86_64-linux-gnu/*  /usr/local/lib/* |grep leveldb

列出他们的全路径。

(1)/usr/lib/x86_64-linux-gnu/libleveldb.a会起作用,注意重新编译时清空缓存已保证结果正确。编译出的

(2)/usr/lib/x86_64-linux-gnu/xxxlibleveldb.so不起作用

(3)/usr/local/lib/libleveldb.a会起作用,编译出的mapkeeper_leveldb大小为945KB。

 

leveldb1.8编译出的a库大小为797K, leveldb2.0编译出的a库为815K

 

*********注意***********, 如果mapkeeper服务端leveldb提示status: IO error: lock data/usertable/LOCK: already held by process,则操作是不成功的,即使ycsb这端显示成功。实际上leveldb数据库里没有任何变动。发现这一点是因为发现leveldb库的put函数没有被调用。

 

正常情况下,leveldb插入函数被调用的顺序是

dbimpl.cc, DBImpl::Put,begin
dbimpl.cc, DB::Put, begin
dbimpl.cc, DBImpl::Write begin

 

确定mapkeeper使用的leverdb库路径

标签:read   ble   一点   linux   缓存   eve   put   write   stat   

原文地址:http://www.cnblogs.com/bettersky/p/7628685.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!