In the DAO layer I am trying to increment a Long value as following.
private final String MERCHANT_ITEM_COUNT_SUFFIX = "_item_count";
@Override
public Observable<Long> incrMerchantItemCount(String merchantId) {
return _bucket.async().counter(merchantId + MERCHANT_ITEM_COUNT_SUFFIX, 1,1).map((jsoncLongDoc)->{
return jsoncLongDoc.content();
});
}
DAO method to retrieve the Long value is as follows :
@Override
public Observable<Long> getMerchantItemCount(String merchantId) {
return _bucket
.async()
.get(merchantId + MERCHANT_ITEM_COUNT_SUFFIX, JsonLongDocument.class)
.onErrorReturn((throwable)->{
throw new DaoException(throwable);
})
.map((jsonLongDoc)->{
return jsonLongDoc.content();
}).defaultIfEmpty(new Long(0));
}
But everytime this getMerchantItemCount() method throws following TranscodingException exception.
What am I doing wrong ?
Caused by: com.couchbase.client.java.error.TranscodingException: Flags
(0x0) indicate non JsonLongDocument id
9959dac0-c98d-11e1-8f0e-005056bd6853_itemcount, could not decode. at
com.couchbase.client.java.transcoder.JsonLongTranscoder.doDecode(JsonLongTranscoder.java:59)
~[java-client-2.0.2.jar:2.0.2] at
com.couchbase.client.java.transcoder.JsonLongTranscoder.doDecode(JsonLongTranscoder.java:40)
~[java-client-2.0.2.jar:2.0.2] at
com.couchbase.client.java.transcoder.AbstractTranscoder.decode(AbstractTranscoder.java:42)
~[java-client-2.0.2.jar:2.0.2] at
com.couchbase.client.java.CouchbaseAsyncBucket$1.call(CouchbaseAsyncBucket.java:137)
~[java-client-2.0.2.jar:2.0.2] at
com.couchbase.client.java.CouchbaseAsyncBucket$1.call(CouchbaseAsyncBucket.java:133)
~[java-client-2.0.2.jar:2.0.2] at
rx.internal.operators.OperatorMap$1.onNext(OperatorMap.java:55)
[rxjava-1.0.4.jar:1.0.4] … 13 common frames omitted
I ask the same question on SO and was asked to report a bug.But eventhough I could not login to “couch base forums” I could not loging to “JIRA”.