Uploaded image for project: 'Couchbase Java Client'
  1. Couchbase Java Client
  2. JCBC-760

Java client not recovering after failover (in a hard shutdown or network problems)

    XMLWordPrintable

Details

    • Bug
    • Resolution: Incomplete
    • Critical
    • None
    • 2.1.2
    • None
    • Security Level: Public
    • None
    • Couchbase Server Version: 3.0.1 in Ubuntu 14.04 64bits

    Description

      Document with id A in Node 1
      Document with id B in Node 2
      Api client with JAVA sdk 2.1.2

      Get key A (OK)
      Get key B (OK)
      Unplug Node 2 network cable (or using iptables)

      Get key A (OK)
      Get key B (FAIL expected until failover)
      java.lang.RuntimeException: java.util.concurrent.TimeoutException
      at com.couchbase.client.java.util.Blocking.blockForSingle(Blocking.java:93) ~[java-client-2.1.2.jar:2.1.2]
      Failover Node 2 (without doing the rebalance)

      Get key A (OK)
      Get Key B (FAIL not expected behavior)
      java.lang.RuntimeException: java.util.concurrent.TimeoutException
      at com.couchbase.client.java.util.Blocking.blockForSingle(Blocking.java:93) ~[java-client-2.1.2.jar:2.1.2]
      The same happens in the cloud when stopping the EC2 instance of Node 2.
      However if I stop the couchbase-service in Node 2 doing a 'safe shutdown' "service couchbase-server stop" it works as expected because the client gets notified.

      If I disable the bootstrap carrier all scenarios work as expected. But it is not the idea.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            daschl Michael Nitschinger
            yorugua Gonzalo Huertas
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty