Hello Xiaopong, Apologies about the trouble you had with the Erlang client. I'll run through the client docs on Monday and make sure we have everything properly explained.
While we're on the topic of Erlang client documentation, you might find these handy - http://basho.github.com/riak-erlang-client/ (We are now using GitHub as the canonical home for Riak code but the BitBucket mirror is in place and working so if that's what you prefer, you'r all good.) We generated the docs about two weeks back (we're actually in the process of doing these for all the Riak clients) so they might be _slightly_ behind what is in master, but I thought they couldn't hurt to share). Hope they help. We'll check out the docs (and regenerate as needed) once Monday comes around. Thanks for diving into Riak. Mark Community Manager Basho Technologies wiki.basho.com twitter.com/pharkmillups On Fri, Dec 10, 2010 at 11:42 PM, Xiaopong Tran <xiaopong.t...@gmail.com> wrote: > I finally got it to work, the document is so misleading, > had to dig into the code to find out what is going on. > > When starting erl, you have to add > > deps/protobuffs/ebin/ > > to the path too. > > One whole day of frustration.... > > > > On Sat, 2010-12-11 at 15:26 +0800, Xiaopong Tran wrote: >> After upgrading R14B, I can now compile the client package, >> but I still get the same error when trying to write the object. >> >> Could someone tell what's going on here? >> >> Thanks >> >> Xiaopong >> >> On Fri, 2010-12-10 at 16:37 +0800, Xiaopong Tran wrote: >> > 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 > riak-users@lists.basho.com > http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com > _______________________________________________ riak-users mailing list riak-users@lists.basho.com http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com