Is it possible to skip requests to failed node?


#1

Hi, @daschl

I’m trying to skip requests to failed node without failover
because if I do failover the failed node, that node lose its data all.

Just 1 node failure has no problem.
But one more node failure has occured then failover must bring about data loss.

So I wanna overcome the node failure without failover
although client can not supply the data included in failed node.

Plz. give me a solution for this :frowning:

Thank you


#2

Hi Sam,

It sounds like you’re looking for “replica read”.

Java API
http://docs.couchbase.com/sdk-api/couchbase-java-client-2.0.2/com/couchbase/client/java/Bucket.html#getFromReplica-D-com.couchbase.client.java.ReplicaMode-

Description
http://docs.couchbase.com/developer/dev-guide-3.0/replica-read-functions.html


#3

Thx for ur answer @shane

But I do not mean “Replica Read”, I just wanna skip to request for failed node as soon as possible.
I already tried to get from replica, but node failure occurred, ops dropped down to bottom and client was hangup.
So I forgive replica read for failed node .


#4

@Sam_K,

alright, so what you probably want is a “cancel” failure mode, we are considering adding this in one of the next releases.

Right now, we do not expose to the user to which node we are routing the op to. What about using a much lower timeout bound and then do retry if possible? Also, how does your code look like? You maybe should look into async ops and/or fanning out to a thread pool. If you are running single threaded and the op locks up for the timeout, the only valid way is to make it much lower and then decide what to do when you time out.