cbd / edis

An Erlang implementation of Redis
http://inaka.github.com/edis/
Apache License 2.0
468 stars 37 forks source link

Add HanoiDB backend support #16

Closed gburd closed 12 years ago

gburd commented 12 years ago

This adds a new storage backend that uses the HanoiDB key/value lsm btree database. There are two outstanding TODOs and a number of optimizations to be done but this seems to work and pass the tests.

qustavo commented 12 years ago

@gburd we run the test using hanoindb-backend en there are 25/70 failures. Did you run the test before pull request ?

The failures are: 19 lists_SUITE blpop_brpop 20 lists_SUITE brpoplpush 23 lists_SUITE rpoplpush 24 lists_SUITE lpop_rpop
25 lists_SUITE lrange 28 lists_SUITE lrem 30 sets_SUITE sadd 31 sets_SUITE srem
32 sets_SUITE sinter 33 sets_SUITE sinterstore 34 sets_SUITE sunion 35 sets_SUITE sunionstore 36 sets_SUITE sdiff 37 sets_SUITE sdiffstore 38 sets_SUITE spo 39 sets_SUITE srandmember 40 sets_SUITE smove 41 strings_SUITE set_and_get 42 strings_SUITE append 51 strings_SUITE mset
53 strings_SUITE setnx 54 strings_SUITE msetnx 67 zsets_SUITE zremrangebyscore
69 zsets_SUITE zunionstore 70 zsets_SUITE zinterstore

gburd commented 12 years ago

Yes, I thought I ran them correctly and everything passed. Send me how you ran the tests and the output and I'll fix any issues.

-greg

On Friday, June 8, 2012 at 8:11 PM, Gustavo Chaín wrote:

@gburd we run the test using hanoindb-backend en there are 25/70 failures. Did you run the test before pull request ?

The failures are: 19 lists_SUITE blpop_brpop 20 lists_SUITE brpoplpush 23 lists_SUITE rpoplpush 24 lists_SUITE lpop_rpop
25 lists_SUITE lrange 28 lists_SUITE lrem 30 sets_SUITE sadd 31 sets_SUITE srem
32 sets_SUITE sinter 33 sets_SUITE sinterstore 34 sets_SUITE sunion 35 sets_SUITE sunionstore 36 sets_SUITE sdiff 37 sets_SUITE sdiffstore 38 sets_SUITE spo 39 sets_SUITE srandmember 40 sets_SUITE smove 41 strings_SUITE set_and_get 42 strings_SUITE append 51 strings_SUITE mset
53 strings_SUITE setnx 54 strings_SUITE msetnx 67 zsets_SUITE zremrangebyscore
69 zsets_SUITE zunionstore 70 zsets_SUITE zinterstore


Reply to this email directly or view it on GitHub: https://github.com/inaka/edis/pull/16#issuecomment-6210775

qustavo commented 12 years ago

I ran: $ make test-hanoidb

gburd commented 12 years ago

Sorry about the earlier mess. This passes tests now.

erl -pa deps/_/ebin -pa ebin -pa src -boot start_sasl +Bc +K true -smp enable -s crypto -s inets -s ssl -s elog -config test/test-hanoidb.config -noshell -sname edis_test_server -s edis -run elog debug & mkdir -p ./test/ebin erlc -o ./test/ebin +debug_info ./test/__SUITE.erl

=INFO REPORT==== 11-Jun-2012::23:42:38 === Inititalizing elog supervisor... elog Restarting debug: {ok,<0.147.0>} elog Restarting info: {ok,<0.148.0>} elog Restarting stat: {ok,<0.149.0>} elog Restarting warn: {ok,<0.150.0>} elog Restarting error: {ok,<0.151.0>} elog Restarting fatal: {ok,<0.152.0>} rebar skipdeps=true ct ; \ kill `ps aux | grep beam | grep edis[t]est_server | awk '{print $2}'` ==> edis (ct) DONE. Testing test.ebin: TEST COMPLETE, 70 ok, 0 failed of 70 test cases Testing eng.edis: TEST COMPLETE, 0 ok, 0 failed of 0 test cases

cbd commented 12 years ago

all tests pass for me. merging. thanks @gburd

gburd commented 12 years ago

Excellent! Happy to contribute! :) Please file bugs against hanoidb when/if you find them on the basho/hanoidb repo.