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

IllegalStateException state exception. The Content of this Observable is already released. Subscribe earlier or tune the CouchbaseEnvironment#autoreleaseAfter() setting.

    XMLWordPrintable

Details

    • Bug
    • Resolution: Incomplete
    • Major
    • None
    • 2.1.2
    • Core
    • Security Level: Public
    • None

    Description

      We have been getting the below exception very frequently on the line "row.document" when we try to access the particular document.

      couch base server - 3.0.3 enterprise edition
      couch base client - 2.1.2

      Setting:

      // Create couchbase cluster client
      CouchbaseEnvironment couchEnv = DefaultCouchbaseEnvironment.builder()
      .connectTimeout(configuration.getCouchbase().getConnectTimeout()) //10000ms = 10s, default is 5s
      .viewTimeout(configuration.getCouchbase().getViewTimeout())
      .queryTimeout(configuration.getCouchbase().getQueryTimeout())
      .autoreleaseAfter(5000)
      .build();

      Code:

      public UserDocument getUserByUserName(String userName) {
      UserDocument userDocument = null;
      if (userName == null)

      { return null; }
      ViewResult result = bucket.query(ViewQuery
      .from(DesignDocumentEnum.USERNAME_DESIGN_DOC.getName(), ViewEnum.BY_USERNAME.getName())
      .key(userName).limit(1));
      if (!result.success()) { return null; }

      List<ViewRow> allRows = result.allRows();
      for (ViewRow row : allRows)

      { JsonDocument userDocumentJson = row.document(); userDocument = gson.fromJson( userDocumentJson.content() != null ? userDocumentJson .content().toString() : null, UserDocument.class); break; }

      return userDocument;
      }

      Logs :

      ERROR [2015-07-28 12:16:59,122] com.personagraph.dropwizard.resource.UserManagementResource: Internal Error in gettting user details
      ! java.lang.IllegalStateException: The Content of this Observable is already released. Subscribe earlier or tune the CouchbaseEnvironment#autoreleaseAfter() setting.
      ! at com.couchbase.client.core.utils.UnicastAutoReleaseSubject$OnSubscribeAction.call(UnicastAutoReleaseSubject.java:230) ~[pgweb-usermanagement-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
      ! at com.couchbase.client.core.utils.UnicastAutoReleaseSubject$OnSubscribeAction.call(UnicastAutoReleaseSubject.java:202) ~[pgweb-usermanagement-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
      ! at rx.Observable$1.call(Observable.java:145) ~[pgweb-usermanagement-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
      ! at rx.Observable$1.call(Observable.java:137) ~[pgweb-usermanagement-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
      ! at rx.Observable$1.call(Observable.java:145) ~[pgweb-usermanagement-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
      ! at rx.Observable$1.call(Observable.java:137) ~[pgweb-usermanagement-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
      ! at rx.Observable$1.call(Observable.java:145) ~[pgweb-usermanagement-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
      ! at rx.Observable$1.call(Observable.java:137) ~[pgweb-usermanagement-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
      ! at rx.Observable$1.call(Observable.java:145) ~[pgweb-usermanagement-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
      ! at rx.Observable$1.call(Observable.java:137) ~[pgweb-usermanagement-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
      ! at rx.Observable$1.call(Observable.java:145) ~[pgweb-usermanagement-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
      ! at rx.Observable$1.call(Observable.java:137) ~[pgweb-usermanagement-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
      ! at rx.Observable$1.call(Observable.java:145) ~[pgweb-usermanagement-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
      ! at rx.Observable$1.call(Observable.java:137) ~[pgweb-usermanagement-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
      ! at rx.Observable$1.call(Observable.java:145) ~[pgweb-usermanagement-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
      ! at rx.Observable$1.call(Observable.java:137) ~[pgweb-usermanagement-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
      ! at rx.Observable.subscribe(Observable.java:7393) ~[pgweb-usermanagement-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
      ! at rx.internal.operators.BlockingOperatorToIterator.toIterator(BlockingOperatorToIterator.java:52) ~[pgweb-usermanagement-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
      ! at rx.observables.BlockingObservable.getIterator(BlockingObservable.java:155) ~[pgweb-usermanagement-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
      ! at com.couchbase.client.java.view.DefaultViewResult.rows(DefaultViewResult.java:64) ~[pgweb-usermanagement-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
      ! at com.couchbase.client.java.view.DefaultViewResult.rows(DefaultViewResult.java:49) ~[pgweb-usermanagement-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
      ! at com.personagraph.platformapi.service.impl.CouchbaseServiceImpl.getUserByUserName(CouchbaseServiceImpl.java:153) ~[pgweb-usermanagement-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
      ! at com.personagraph.platformapi.service.impl.UserServiceImpl.getUserByUserName(UserServiceImpl.java:183) ~[pgweb-usermanagement-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
      ! at com.personagraph.platformapi.service.impl.UserServiceImpl.createJSUser(UserServiceImpl.java:564) ~[pgweb-usermanagement-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
      ! at com.personagraph.dropwizard.resource.UserManagementResource.handleUserActivity(UserManagementResource.java:613) ~[pgweb-usermanagement-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
      ! at sun.reflect.GeneratedMethodAccessor79.invoke(Unknown Source) ~[na:na]
      ! at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_67]
      ! at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_67]
      ! at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60) [pgweb-usermanagement-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
      ! at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205) [pgweb-usermanagement-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
      ! at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75) [pgweb-usermanagement-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
      ! at com.codahale.metrics.jersey.InstrumentedResourceMethodDispatchProvider$TimedRequestDispatcher.dispatch(Instru

      Attachments

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

        Activity

          People

            daschl Michael Nitschinger
            deepak.garg deepak.garg
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty