riak 2.0 - java client 'unavailable' exception

Sean Cribbs sean at basho.com
Mon Jul 28 20:52:09 EDT 2014


Furthermore, you should almost never use the 'ASIS' option. It does not
mean what you think it means (and probably means nothing to strong
consistency).


On Mon, Jul 28, 2014 at 6:55 PM, Joseph Blomstedt <joe at basho.com> wrote:

> This means the consistency sub-system is not enabled/active. You can
> verify this with the output of `riak-admin ensemble-status`.
>
> To enable strong consistency you must:
>
> 1) Set 'strong_consistency = on' in riak.conf.
> 2) Have at least a 3 node cluster.
>
> You can address #2 by setting up 3+ local developer nodes as detailed
> in the 5 minute tutorial:
> http://docs.basho.com/riak/2.0.0/quickstart
>
> Alternatively, you can override the need for 3 nodes and use 1 node.
>
> To do that,
>
> 1) Run 'riak attach' to attach to your Riak's node console
> 2) Enter (including the period): riak_ensemble_manager:enable().
> 3) Enter (including the period): riak_core_ring_manager:force_update().
> 3) Detach from the console using: Ctrl-C a
>
> After either approach, re-check `riak-admin ensemble-status`. It may
> take up to a minute for the consistency sub-system to be enabled.
>
> If you haven't already, please take a look at the temporary (until we
> finish updating docs.basho.com) strong consistency related
> documentation (linked from the 2.0 RC1 release notes) here:
>
> https://github.com/basho/riak_ensemble/blob/wip/riak-2.0-user-docs/riak_consistent_user_docs.md
>
> Regards,
> Joe
>
> On Mon, Jul 28, 2014 at 3:05 PM, Jason W <jason.w.prog at gmail.com> wrote:
> > Hi,
> >
> > I am trying out 2.0 w/ just one local node, created a strongly consistent
> > bucket type.  But keep getting below exception.  If I just use the
> default
> > bucket type, everything works fine.  Here is the bucket type detail with
> > consistency bit on.
> >
> > young_vclock: 20
> > w: quorum
> > small_vclock: 50
> > rw: quorum
> > r: quorum
> > pw: 0
> > precommit: []
> > pr: 0
> > postcommit: []
> > old_vclock: 86400
> > notfound_ok: true
> > n_val: 1
> > linkfun: {modfun,riak_kv_wm_link_walker,mapreduce_linkfun}
> > last_write_wins: false
> > dw: quorum
> > dvv_enabled: true
> > chash_keyfun: {riak_core_util,chash_std_keyfun}
> > big_vclock: 50
> > basic_quorum: false
> > allow_mult: true
> > consistent: true
> > active: true
> > claimant: 'riak at 0.0.0.0'
> >
> > Here is the java code
> >
> > List<String> addresses = new LinkedList<String>();
> >
> > addresses.add("172.16.0.254");
> >
> > RiakClient  riakClient = RiakClient.newClient(addresses);
> >
> > try {
> >
> > Location wildeGeniusQuote = new Location(new
> > Namespace("strongly_consistent2", "sample"), emp.getId());
> >
> > BinaryValue text =
> > BinaryValue.create(objectMapper.writeValueAsBytes(sampleObj));
> >
> > RiakObject obj = new RiakObject()
> >
> >         .setContentType("text/plain")
> >
> >         .setValue(text);
> >
> > StoreValue store = new
> > StoreValue.Builder(obj).withLocation(wildeGeniusQuote)
> >
> > .withOption(Option.ASIS, true)
> >
> > .withOption(Option.DW, new Quorum(1))
> >
> > .withOption(Option.IF_NONE_MATCH, true)
> >
> > .withOption(Option.IF_NOT_MODIFIED, true)
> >
> > .withOption(Option.PW, new Quorum(1))
> >
> > .withOption(Option.N_VAL, 1)
> >
> > .withOption(Option.RETURN_BODY, true)
> >
> > .withOption(Option.RETURN_HEAD, true)
> >
> > .withOption(Option.SLOPPY_QUORUM, true)
> >
> > .withOption(Option.TIMEOUT, 1000)
> >
> > .withOption(Option.W, new Quorum(1))
> >
> > .build();
> >
> > riakClient.execute(store);
> >
> > } catch (Exception e) {
> >
> > e.printStackTrace();
> >
> > return null;
> >
> > }
> >
> > Am I still missing something? Thanks.
> >
> >
> >
> > Caused by: com.basho.riak.client.core.netty.RiakResponseException:
> > unavailable
> >
> > at
> >
> com.basho.riak.client.core.netty.RiakResponseHandler.channelRead(RiakResponseHandler.java:52)
> >
> > at
> >
> io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:340)
> >
> > at
> >
> io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:326)
> >
> > at
> >
> io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:155)
> >
> > at
> >
> io.netty.handler.codec.ByteToMessageCodec.channelRead(ByteToMessageCodec.java:108)
> >
> > at
> >
> io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:340)
> >
> > at
> >
> io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:326)
> >
> > at
> >
> io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785)
> >
> > at
> >
> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:116)
> >
> > at
> >
> io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:494)
> >
> > at
> >
> io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:461)
> >
> > at
> >
> io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:378)
> >
> > at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:350)
> >
> > at
> >
> io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101)
> >
> > ... 1 more
> >
> >
> > _______________________________________________
> > riak-users mailing list
> > riak-users at lists.basho.com
> > http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
> >
>
>
>
> --
> Joseph Blomstedt <joe at basho.com>
> Principal Engineer
> Basho Technologies, Inc.
> http://www.basho.com/
>
> _______________________________________________
> riak-users mailing list
> riak-users at lists.basho.com
> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
>



-- 
Sean Cribbs <sean at basho.com>
Software Engineer
Basho Technologies, Inc.
http://basho.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.basho.com/pipermail/riak-users_lists.basho.com/attachments/20140728/eb4f4be1/attachment.html>


More information about the riak-users mailing list