I am using currently erlang native client and it is working beautifully so
far. I wanted to move it to pb client due to
1. it is kind of pain to update relevant binaries
2. bidirectional network connection with riak  nodes and my application
nodes and associated load etc to the system
3. dependency of config like erl riak cookie etc

But In my preliminary study, found that,

a) PB client always sends value as binary
b) PB server always stores the value as such no matter what kind of content
type set ex. "application/x-erlang-term"

And item (b) is problem for me because my entire app has may MR queries and
other object retrieval which directly consumes erlang terms. So I need to
go everywhere (though, It is just one DB module and another module with
many M-R functions) to change the binary to term or should I tweek
riakc_pb:erlify_rpbcontent to convert binary to term and store it -- may be
based on Content-Type?  This sounds ugly but I just need to change it only
once without affecting my entire code base. If I do so, wherever I get the
object from Riak, I no need to convert it, it saves unnecessary decoding
also.

PB binaries stored in riak also affect the riak:local client retrieval
where we can get the object and see it in plain without doing
binary_to_term.


My app is webmachine erlang web app.

Thoughts?

Thanks,
--Senthilkumar Peelikkampatti.
_______________________________________________
riak-users mailing list
riak-users@lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to