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

view request hangs in addOp(CouchbaseClient.java:614) during failover

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 1.1dp
    • Fix Version/s: 1.1-dp4
    • Component/s: Core
    • Security Level: Public
    • Labels:
      None

      Description

      During an autofailover of the cluster, view requests may hang, rather than timeout.

      Stack is:
      2012-10-10 10:45:13
      Full thread dump Java HotSpot(TM) Server VM (19.1-b02 mixed mode):

      "Attach Listener" daemon prio=10 tid=0x09765c00 nid=0x3b5f waiting on condition [0x00000000]
      java.lang.Thread.State: RUNNABLE

      "pool-8-thread-50" prio=10 tid=0x09763c00 nid=0x399d waiting on condition [0x71283000]
      java.lang.Thread.State: WAITING (parking)
      at sun.misc.Unsafe.park(Native Method)

      • parking to wait for <0xb48bc4c0> (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:811)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(AbstractQueuedSynchronizer.java:941)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(AbstractQueuedSynchronizer.java:1261)
        at java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(ReentrantReadWriteLock.java:594)
        at com.couchbase.client.ViewConnection.addOp(ViewConnection.java:142)
        at com.couchbase.client.CouchbaseClient.addOp(CouchbaseClient.java:614)
        at com.couchbase.client.CouchbaseClient.asyncGetView(CouchbaseClient.java:320)
        at com.couchbase.client.CouchbaseClient.getView(CouchbaseClient.java:393)
        ...
      No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

        Hide
        daschl Michael Nitschinger added a comment -

        The corresponding fix (http://review.couchbase.com/#/c/21915/) makes sure to close request connections when the operation bound to it is also closed.

        This addresses the issue that the wait() in the async connection request hangs in there for a long time in case the operation is cancelled.

        Show
        daschl Michael Nitschinger added a comment - The corresponding fix ( http://review.couchbase.com/#/c/21915/ ) makes sure to close request connections when the operation bound to it is also closed. This addresses the issue that the wait() in the async connection request hangs in there for a long time in case the operation is cancelled.

          People

          • Assignee:
            daschl Michael Nitschinger
            Reporter:
            ingenthr Matt Ingenthron
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Gerrit Reviews

              There are no open Gerrit changes