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();
cluster = CouchbaseCluster.create(couchEnv,configuration.getCouchbase().getHosts());
bucket = cluster.openBucket(configuration.getCouchbase().getBucket(), configuration.getCouchbase().getPassword());
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) {
//Exception at below line
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]
Can anyone please let me know what is the cause for this issue.
Thanks
Suman