вставка couchbase и задержка запроса - PullRequest
0 голосов
/ 16 мая 2018

Я пишу несколько интеграционных тестов для созданного мной приложения, использующего couchbase.

Я использую Java. У меня вопрос, если я вставлю документ, используя:

bucket.insert(rawJsonDocument);

А затем немедленно запустите N1qlQuery, если я ожидаю получить ответ при запросе документа, который я только что вставил, или есть некоторый ожидаемый период времени / задержки до фактического сохранения документа в ведре?

Я вижу случаи, когда мои тесты периодически дают сбой, потому что документ не найден, но я перезапустил тест, и он работает время от времени.

Имеет ли объект ведра couchbase что-то похожее на то, что EntityManager в JPA имеет в своей операции сброса? Я знаю, что flush имеет совершенно другое значение в couchbase, но я пытаюсь понять, почему я вижу такое поведение.

Я проверил синтаксис запроса с помощью инструмента запросов в консоли.

1 Ответ

0 голосов
/ 16 мая 2018

Есть несколько вариантов согласованности, которые вы можете выбрать. Хотя вам нужно использовать их осторожно и понять, как это повлияет на производительность вашего приложения.

Варианты:

-Не ограничено (по умолчанию)

-RequestPlus - ждет всех изменений документа и обновлений индекса

-AtPlus - позволяет читать вашу запись

Вы читаете обсуждение о них в этом блоге. https://blog.couchbase.com/new-to-couchbase-4-5-atplus/

...