CouchbaseException: INVALID_ARGUMENTS при использовании счетчика - PullRequest
1 голос
/ 07 октября 2019

У меня есть приложение springBoot 2.1.9.RELEASE, которое использует Spring Data для Couchbase. Но когда я использую атомарные счетчики в Couchbase, чтобы увеличить счетчик на 1

bucket.counter(doc.getId(), 1);

, я получил исключение

com.couchbase.client.core.CouchbaseException: INVALID_ARGUMENTS
...Caused by: rx.exceptions.OnErrorThrowable$OnNextValue: OnError while emitting onNext value: com.couchbase.client.core.message.kv.CounterResponse.class
    at rx.exceptions.OnErrorThrowable.addValueAsLastCause(OnErrorThrowable.java:118)
    at rx.internal.operators.OnSubscribeMap$MapSubscriber.onNext(OnSubscribeMap.java:73)
    ... 22 common frames omitted

Я также пытался

try {
            bucket.counter(docId, 1);
        } catch (CouchbaseException e) {
            if ("INVALID_ARGUMENTS".equalsIgnoreCase(e.getMessage())) {
                LegacyDocument legacyDocument = rqmBucket.get(LegacyDocument.create(docId));
                String s = legacyDocument.content().toString();
                Long value = Long.parseLong(s) + 1;
                bucket.upsert(JsonLongDocument.create(docId, value));
            }
        }

, но я набрал java.lang.NumberFormatException, потому что legacyDocument.content() дает мне все документы Json. :

"{"hostel":{"address":15..."
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...