Description
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)->
);
}
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)->
)
.map((jsonLongDoc)->
).defaultIfEmpty(new Long(0));
}
But everytime this getMerchantItemCount() method throws following TranscodingException exception.
> 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