Issue with yokozuna_extractor_map (riak 2.1.1)

Luke Bakken lbakken at basho.com
Tue Feb 28 11:47:16 EST 2017


Hi Simon -

Did you copy the .beam file for your custom extractor to a directory
in the Erlang VM's code path?

If you run "pgrep -a beam.smp" you'll see an argument to beam.smp like this:

-pa /home/lbakken/Projects/basho/riak_ee-2.1.1/rel/riak/bin/../lib/basho-patches

On my machine, that adds the
"/home/lbakken/Projects/basho/riak_ee-2.1.1/rel/riak/lib/basho-patches"
directory to the code path. You will see something that starts with
"/usr/lib/riak/.." or "/usr/lib64/riak/..." in your environment.

You must copy the .beam file to the "basho-patches" directory, and
re-start Riak. Then your extractor code will be found.

--
Luke Bakken
Engineer
lbakken at basho.com

On Tue, Feb 28, 2017 at 3:54 AM, Simon Jaspar
<simon.jaspar at kbrwadventure.com> wrote:
> Hi,
>
> I’m currently experimenting with riak 2.1.1 for a project. I recently ran
> into some trouble with yokozuna trying to register a custom extractor.
>
> I’m not sure how I ended up in that situation, but I’m currently stuck with
> my cluster's yokozuna_extractor_map equal to the atom ignore…
>
> I remember having the default extractor map there, before I try to register
> a custom extractor (following basho documentation
> https://docs.basho.com/riak/kv/2.2.0/developing/usage/custom-extractors/ ),
> and end up here.
>
> While attached to one of my riak's node, running yz_extractor:get_map().
> returns ignore.
>
> And trying to register a new extractor
> yz_extractor:register("custom_extractor",yz_noop_extractor). returns
> already_registered , with this in my logs :
>
> 2017-02-28 11:41:39.265 [error]
> <0.180.0>@riak_core_ring_manager:handle_call:406 ring_trans: invalid return
> value:
> {'EXIT',{function_clause,[{orddict,find,["custom_extractor",ignore],[{file,"orddict.erl"},{line,80}]},{yz_extractor,get_def,3,[{file,"src/yz_extractor.erl"},{line,67}]},{yz_extractor,register_map,2,[{file,"src/yz_extractor.erl"},{line,138}]},{yz_misc,set_ring_trans,2,[{file,"src/yz_misc.erl"},{line,302}]},{riak_core_ring_manager,handle_call,3,[{file,"src/riak_core_ring_manager.erl"},{line,389}]},{gen_server,handle_msg,5,[{file,"gen_server.erl"},{line,585}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,239}]}]}}
>
> I have been trying to bypass that issue by reseting the extractor map to its
> default value using lower level functions from yokozuna source code, but
> with no success.
>
> If anyone has any idea or solution that’d be great !
>
> Thanks in advance for your help.
>
> Best,
> Simon JASPAR
>
>
> _______________________________________________
> riak-users mailing list
> riak-users at lists.basho.com
> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
>




More information about the riak-users mailing list