首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >couchbase中的阻塞向上插入

couchbase中的阻塞向上插入
EN

Stack Overflow用户
提问于 2020-02-03 05:47:39
回答 4查看 207关注 0票数 2

我正在编写一个测试,在实际运行任何测试之前,我需要在couchbase桶中插入一些文档(比如10)。因此,我有一个带有@BeforeAll注释的方法,试图破坏这些文档。现在,当我尝试运行测试时,测试失败了,因为那时文档没有持久保存。为了等待这些文件被插入,我正在做这样的事情-

代码语言:javascript
代码运行次数:0
运行
复制
    Flux.fromIterable(couchDocs)
        .map(couchDoc -> bucket.upsert(couchDoc, persistTo)
        .collectList()
        .block();

但是,当我运行测试时,我仍然可以看到,到那时,文档并没有持久化,断言失败了。我是不是漏掉了什么?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2020-02-03 06:27:18

用.flatMap代替.map。你的内流没有被订阅。

票数 3
EN

Stack Overflow用户

发布于 2022-10-01 08:25:51

对于使用block()将条目向上插入couchbase,然后执行get而不存在这些项,我也会遇到同样的问题。在get找到项目之前,似乎有一小部分时间是在block()之后插入的。这不是应该完成的block()的预期行为。

如果我真的创造了

代码语言:javascript
代码运行次数:0
运行
复制
Thread.sleep(5000)

GetItems

效果很好。

票数 0
EN

Stack Overflow用户

发布于 2022-10-01 09:13:22

我认为您可能需要将此添加到查询中。

在继续查询之前,它基本上要等到couchbase上的所有索引都在内部完成。它解决了我的问题,我有一个大容量重新插入,然后尝试执行一个get项,返回一个不一致的行数(简单地根据多少couchbase索引已经在内部完全解决)。恶心的症状,但这是你通往荣耀的道路!

代码语言:javascript
代码运行次数:0
运行
复制
QueryOptions.queryOptions().scanConsistency(QueryScanConsistency.REQUEST_PLUS)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60033730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档