This project is used to store some Qihoo360 pika tools
axlgrep / pika-tools Goto Github PK
View Code? Open in Web Editor NEWThis project is used to store some Qihoo360 pika tools
This project is used to store some Qihoo360 pika tools
pika版本:pika_codis分支版本
pika_port版本:3.0的master分支,自己编译
现象:从一个pika从库导数据到另一个空pika实例,现有的数据不会复制到目标pika,但是增量数据会同步过去
执行命令如下:
./pika_port -t 10.142.42.10 -i 10.143.21.16 -o 10656 -m 10.142.42.10 -n 9222 -x 6 -z 1800 -l ./sync_log/ -r ./rsync_dump -b 64
看pika-port/README.md
第34行得知,文件pika-port/build3.sh
的执行目录,应该是pika-port
这个文件夹,如图:
但执行时却提示You need to run this command from the toplevel of the working tree.
,如果在顶层目录执行,又与文件pika-port/build3.sh
第33行不符,如图:
请问,这里是不是有问题,但无论在哪个目录,总不编译不通过
把cd pika_port_3
改成cd pika-port/pika_port_3
,在顶层目录执行也出错,如图:
不改,在所在目录直接执行sh build3.sh
还是报错,如图:
请问,是什么原因?到底应该在哪个目录执行?还有pika-port/glog.sh
这个文件有什么作用?感谢!
# make
g++ -W -Wextra -Wall -Wsign-compare -Wno-unused-parameter -Wno-redundant-decls -Wwrite-strings -Wpointer-arith -Wreorder -Wswitch -Wsign-promo -Woverloaded-virtual -Wnon-virtual-dtor -Wno-missing-field-ig -c scan.cc -o scan.o -I./ -I../third/blackwidow/include -I../third/slash -I../third/pink -I../third/rocksdb/include
In file included from scan.h:6:0,
from scan.cc:3:
sender.h:8:34: fatal error: slash/include/xdebug.h: No such file or directory
compilation terminated.
Makefile:57: recipe for target 'scan.o' failed
make: *** [scan.o] Error 1
请问pika-port 目前支持3.2.7的迁移吗
pika版本:3.0.15
redis port版本:redis port 3
W0320 14:10:22.244257 25898 redis_sender.cc:151] RedisSender 0fails to send redis command *3
$3
SET
$16
key:001476556242
$64
:????,ߙ???9??{???ݼs?s?????U?? ?ɹϘ*H?=~???k?d&?
$
, times: 1
I0320 14:10:22.244287 25898 redis_sender.cc:155] IO error: write error Broken pipe
如题,请问pika-port是否有计划支持3.2.x版本呢?升级到了3.2.9版本,迁移比较困难
pika-port 迁移 string时,将二进制内容转成c_str时,将二进制数据截断,导致数据丢失,value内容类似:
1 0000000: 0000 0080 1400 0000 0000 0000 0100 0000 ................
2 0000010: 0000 0000 0000 0000 0000 0000 0000 0000 ................
3 0000020: 0000 0000 0000 0000 0000 0000 0000 0000 ................
4 0000030: 0000 0000 0000 0000 0000 0000 0000 0000 ................
5 0000040: 0000 0000 0000 0000 0000 0000 0000 0000 ................
6 0000050: 0000 0000 0000 0000 0000 0000 0000 0000 ................
7 0000060: 0000 0000 0000 0000 0000 0000 0000 0000 ................
8 0000070: 0000 0000 0000 0000 0000 0000 0000 0000 ................
9 0000080: 0000 0000 0000 0000 0f00 0000 0000 0000 ................
10 0000090: 6269 6e61 7279 3a6c 6f67 6973 7469 6306 binary:logistic.
pika_port_3函数MigrateStringsDB()处理key和value是将string转换成c_str(),导致二进制数据在字符\00时被截断
argv.push_back("SET");
argv.push_back(iter->key().ToString().c_str());
argv.push_back(parsed_strings_value.value().ToString().c_str());
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.