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

Reply via email to