I have been working on MongoDB, and wanted to try out Riak as our
system is also in Erlang. But the first installation got me stuck
with an unusable client.

The server is started and seems to run. So I grabbed the 
riakc-1.0.1 package, and it didn't even compile:

x...@shanghai:~/project-workspace/erlang/basho-riak-erlang-client-a1545e5$
make
./rebar get-deps
==> basho-riak-erlang-client-a1545e5 (get-deps)
Pulling protobuffs from {hg,"http://bitbucket.org/basho/protobuffs";,
                            "protobuffs-0.5.0"}
requesting all changes
adding changesets
adding manifests
adding file changes
added 91 changesets with 243 changes to 93 files (+2 heads)
29 files updated, 0 files merged, 0 files removed, 0 files unresolved
==> protobuffs (get-deps)
./rebar compile
==> protobuffs (compile)
Compiled src/pokemon_pb.erl
Compiled src/protobuffs.erl
Compiled src/protobuffs_parser.erl
Compiled src/protobuffs_compile.erl
==> basho-riak-erlang-client-a1545e5 (compile)
Compiling src/riakclient.proto
src/riakc_pb_socket.erl:73: type ctx() undefined
src/riakc_pb_socket.erl:73: type rpb_req() undefined
src/riakc_pb_socket.erl:78: type option() undefined
src/riakc_pb_socket.erl:79: Warning: type option() is unused
src/riakc_pb_socket.erl:87: Warning: type rpb_req() is unused
src/riakc_pb_socket.erl:88: Warning: type ctx() is unused
make: *** [compile] Error 1



So I grabbed the repository with the command

hg clone http://bitbucket.org/basho/riak-erlang-client

and compiled it. Everything seemed to be ok, until I started
running a connection, and here's I got:



x...@shanghai:~/project-workspace/erlang/riak-erlang-client/ebin$ erl -pa
`pwd`
Erlang R13B03 (erts-5.7.4) [source] [64-bit] [smp:2:2] [rq:2]
[async-threads:0] [hipe] [kernel-poll:false]

Eshell V5.7.4  (abort with ^G)
1> code:which(riakc_pb_socket).
"/home/xp/project-workspace/erlang/riak-erlang-client/ebin/riakc_pb_socket.beam"
2> {ok, Pid} = riakc_pb_socket:start_link("127.0.0.1", 8087).
{ok,<0.38.0>}
3> riakc_pb_socket:ping(Pid).
pong
4> Object = riakc_obj:new(<<"groceries">>, <<"mine">>, <<"egg &
bacon">>).
{riakc_obj,<<"groceries">>,<<"mine">>,undefined,[],
           undefined,<<"egg & bacon">>}
5> riakc_pb_socket:put(Pid, Object).

=ERROR REPORT==== 10-Dec-2010::15:45:55 ===
** Generic server <0.38.0> terminating 
** Last message in was {req,

{rpbputreq,<<"groceries">>,<<"mine">>,undefined,
                               {rpbcontent,<<"egg & bacon">>,undefined,

undefined,undefined,undefined,undefined,
                                   undefined,undefined,undefined},
                               undefined,undefined,undefined},
                           60000}
** When Server state ==
{state,"127.0.0.1",8087,false,false,#Port<0.627>,
                               undefined,
                               {[],[]},
                               1,[],infinity,100}
** Reason for termination == 
** {'module could not be loaded',
       [{protobuffs,encode,[1,<<"groceries">>,bytes]},
        {riakclient_pb,iolist,2},
        {riakc_pb,encode,1},
        {riakc_pb_socket,send_request,2},
        {riakc_pb_socket,handle_call,3},
        {gen_server,handle_msg,5},
        {proc_lib,init_p_do_apply,3}]}
** exception exit: undef
     in function  protobuffs:encode/3
        called as protobuffs:encode(1,<<"groceries">>,bytes)
     in call from riakclient_pb:iolist/2
     in call from riakc_pb:encode/1
     in call from riakc_pb_socket:send_request/2
     in call from riakc_pb_socket:handle_call/3
     in call from gen_server:handle_msg/5
     in call from proc_lib:init_p_do_apply/3
6> {ok, O} = riakc_pb_socket:get(Pid, <<"groceries">>, <<"mine">>).
** exception exit: {noproc,
                       {gen_server,call,
                           [<0.38.0>,

{req,{rpbgetreq,<<"groceries">>,<<"mine">>,undefined},60000},
                            infinity]}}
     in function  gen_server:call/3
7> Object.
{riakc_obj,<<"groceries">>,<<"mine">>,undefined,[],
           undefined,<<"egg & bacon">>}
8> riakc_obj:get_value(Object).
** exception throw: no_value
     in function  riakc_obj:get_value/1
9> riakc_obj:get_content_type(Object).
** exception throw: no_metadata
     in function  riakc_obj:get_metadata/1
     in call from riakc_obj:get_content_type/1
10> 



So, connection to the server seemed to be fine, but then nothing
else worked.

What gives? I'm running Ubuntu 10.10.

Xiaopong



_______________________________________________
riak-users mailing list
[email protected]
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to