CouchDB复制忽略零星文档

2024-04-21

我的应用程序有一个 CouchDB 设置 (CouchDB 2.1.1),它在很大程度上依赖于复制完整性。我们使用“每个用户一个数据库”方法,并附加一层“角色”db:s,将用户分组,如下图所示。

最近,在增加测试人员数量的同时,我们发现一些文档没有得到应有的复制。我们无法看到文档大小、创建/更新时间、用户或其他方面的任何模式。这些错误似乎偶尔发生,其中有 2-3 个成功复制的文档,然后是 4-6 个未复制的文档。

服务器响应{"error":"not_found","reason":"missing"}在那些文档上。

大多数(但不是全部)用户文档已复制到相应的角色数据库,但很少有人一直复制到主数据库。当使用

我发现了中提到的“最大打开文件”设置的问题文档中的性能章节 https://docs.couchdb.org/en/latest/maintenance/performance.html#maximum-open-file-descriptors-ulimit并修复了它,但未复制的文档仍然没有复制。如果我打开一个文档并保存它,它就会复制。

这是我目前的理论:

  1. 当用户上线时,复制过程尝试复制新文档
  2. 由于 Linux 的“max_open_files”达到峰值,写入过程失败
  3. 主数据库仍然认为复制成功
  4. 在稍后的复制中,主数据库会忽略那些旧文档,只尝试复制新文档

这可能是正确的吗?我能否以某种方式让 CouchDB 服务器“双重检查”所有文档以及先前复制的完整性?

感谢您的宝贵时间和任何有用的评论!


我过去经历过类似的事情 - 当尝试在没有足够权限的情况下复制文档时,复制会失败。但是,当权限问题得到解决后,您尝试复制的文档就无法被复制,尽管对文档进行编辑/保存可以解决该问题。我想知道这是因为检查站吗?这CouchDb手册 https://docs.couchdb.org/en/latest/config/replicator.html关于“use_checkpoints”标志的说明:

不建议禁用检查点,因为 CouchDB 会扫描 源数据库的更改从一开始就馈送。

虽然从头开始扫描听起来可能会解决问题,所以禁用检查点也许会有所帮助。我当时从未回到这个问题,所以恐怕这不是一个正确的答案,只是一个建议。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CouchDB复制忽略零星文档 的相关文章

  • couchDB、python 和身份验证

    我已经安装了 couchDB v 0 10 0 并尝试通过从 couchDB wiki 下载的 Couch 类中的 python 与它对话 问题是 Create database mydb error unauthorized reason
  • Zend 框架和 Couch DB

    Zend Framework 是否具有本机 Couch DB 支持 我只找到了 Matthew Weier O Phinney 的 Zend Couch http framework zend com wiki display ZFPROP
  • CouchDB 中的过滤和更新功能?

    这些功能是什么 我在哪里可以阅读有关它们如何工作的信息 CouchDB 权威指南没有对此进行解释 很奇怪 来自 CouchDB 权威指南 还有其他设计文档 正在引入的功能 撰写本文时 包括 update 和 filter 我们在这里没有深入
  • 如何禁用/关闭/刷新 couchdb 缓存

    我有一个列表 其中对文档进行了一些基本身份验证 我遇到的问题是列表正在缓存 因此除非我更新修订 ID 否则用户将看不到他们具有访问权限 如何显示非缓存列表 if req userCtx name doc permissions owner
  • 适用于 Android 设备(和 iOS)的 CouchDB 安全性

    我刚刚完成了一篇 wiki 文章和博客文章CouchDB 的安全性 http wiki apache org couchdb Security Features Overview 现在我想知道这在 Android 中是如何完成的 Andro
  • bigtable、cassandra、simpledb、dynamo、couchdb、hypertable、riak、hbase,它们有什么共同点?

    抱歉 如果这个问题有点主观 我对 可以存储 分布式存储 或类似的概念很陌生 我真的很想知道它们有什么共同点 并希望对它们有一个总体的了解 如果我想写一个类似这样的产品 我需要准备什么 The NoSQL 数据库站点 http nosql d
  • CouchDB - 创建或更新文档时触发代码

    我有一个在 CouchDB 中存储数据的页面 该页面直接通过 JavaScript 访问数据库 因此浏览器中没有隐藏太多逻辑 创建新文档时 有一些逻辑将数据元素提取到单独的字段中 以便可以搜索它们 创建或更新文档时是否可以在服务器上执行此逻
  • 如何在 Google AppEngine 平台上访问 Fauxton?

    我正在 Google App Engine 上创建一个离线优先的应用程序 其中 PouchDB 作为我的本地数据库 CouchDB 作为我的远程数据库 我已在 Google AppEngine 上启用了 CouchDB 并尝试访问以下 UR
  • 如何从浏览器上传文件(附件)?

    我无法上传附件以使浏览器正常工作 一些提示是here http japhr blogspot de 2010 02 how to upload files in couchapp html 其他的there http comments gm
  • 如何管理pouchdb和couchdb同步?

    存储多个用户数据的最佳方法是每个用户每个数据库 我正在使用同样的方法 我在服务器上有 couchdb 在移动应用程序上有 pouchdb 我通过在 pouchdb 和 couchdb 中为用户创建单独的数据库来维护每个用户数据 这意味着我在
  • 有人可以解释一下 Ektorp 中的 Cascading 和 FetchType 惰性吗?

    我是 CouchDB 和 Ektorp 的新手 实际上我今天就开始尝试使用它 我找到的帮助我入门的最详细的文档是这个 http www ektorp org reference documentation html d100e394 htt
  • CouchDB 入门

    我已经在我的 Linux 云服务器上安装了 CouchDB 并且我正在尝试访问 Futon 欢迎屏幕 O Reilly 书中说要转到 127 0 0 1 portnum 但我不在本地主机上工作 它是我的远程服务器 所以我应该能够使用 xxx
  • 如何在 couchdb 中编写通配符搜索查询,其中名称如“a%”

    如何在 couchdb 中编写通配符搜索 我想在 sql 中编写与 LIKE 相同的查询 请帮助我 name arun surname mr name balu surname tp 我需要列出所有以 a 开头的名称 Thanks 在 co
  • CouchDB 备份和克隆数据库

    我们正在寻找 CouchdDB 作为类似 CMS 的应用程序 围绕备份我们的生产数据库有哪些常见模式 最佳实践和工作流程建议 我对克隆数据库以用于开发和测试的过程特别感兴趣 仅从实时运行的实例下复制磁盘上的文件就足够了吗 您可以在两个实时运
  • CouchDB 对 _users 数据库的读/写限制

    我想限制用户权限 以便普通用户只能读 写自己的用户文档 我设法设置写入权限 以便用户只能编辑自己的文档 通过设计文档中的 validate doc update 函数 现在我只需限制用户查看用户列表或其他用户文档即可 如果我将数据库读取权限
  • CouchDB 和 Couchbase 有什么区别?

    之间有什么本质区别吗CouchDB http couchdb apache org and 沙发底座 http www couchbase com 我认为CouchDB和Couchbase Server之间有一些本质的区别需要指出 我不会写
  • 创建和使用 Android 的 ContentProvider

    当我调用 Android ContentProvider 时 出现以下异常 java lang RuntimeException 无法 开始活动 ComponentInfo de harm android couchone de harm
  • 如何使用 ibrowse 将附件上传到 CouchDB 中的文档?

    我已经使用curl上传图像文件Penguins jpg 例如 C curl gt curl vX PUT H Content Type image jpeg http localhost 5984 DBNAME DOCID Penguins
  • 用户如何登录定义了读者角色的 couchapp?

    我通过 Couchapp 部署了我的应用程序 这意味着整个应用程序是从数据库中提供服务的 我不希望 Couchdb 数据库中的数据公开可用 因此我指定了用户在向他提供数据之前必须具有的读者角色 然而 当我去申请时 我所能得到的是 error
  • CouchDB 通过三个索引键进行查询和过滤

    我目前正在尝试按具有三个值的键进行排序和排序 但让我们从文档结构开始 id DOCIDGOESHERE01 type MESSAGE date 2011 08 24 06 49 02 author USERIDGOESHERE01 rece

随机推荐

  • Java 源文件中可以有宏吗

    在我的程序中 我多次从控制台读取整数 每次 我都需要输入这一行 new Scanner System in nextInt 我习惯了 C C 我想知道我是否可以定义类似的东西 define READINT Scanner System in
  • Go 中通过 new(Type) 和 &Type{} 分配内存的区别

    考虑以下示例 type House struct func main house1 new House house2 House fmt Printf T T n house1 house2 Output main House main H
  • 超级丑陋的数字

    所以问题是 编写一个程序来查找第 n 个超级丑数 超级丑数是正数 其所有素数因子都在给定素数列表中 大小为 k 的素数 例如 1 2 4 7 8 13 14 16 19 26 28 32 是给定素数的前 12 个超级丑数的序列 2 7 13
  • 使用 v2.0 端点的声明中缺少 UPN

    我已经设置了一个类似于 Microsoft 的以下示例的项目 其中我有一个本机应用程序请求使用 v2 0 端点访问 Web api https github com azureadquickstarts appmodelv2 nativec
  • 通过SPARQL UPDATE从本体中删除空白节点

    我在 SPARQL UPDATE 插入 操作的帮助下将一些数据存储在 protege 中制作的本体模型中 以下是更新查询 PREFIX test
  • Direct3D 中的矩阵多阶

    关于在 Direct3D 中乘法矩阵以获得结果 我收到了两个相互矛盾的答案 教程确实规定从左到右相乘 这很好 但这不是我想象的方式 这是一个例子 OpenGL 从上到下阅读 GLRotatef 90 0f GLTranslatef 20 0
  • 将操作添加到自定义 UITableViewCell

    我正在构建一个简单的应用程序 其中包含填充了自定义视图单元格的表格视图并使用故事板 我想在用户每次点击单元格时在单元格上添加一个操作 到目前为止 我尝试创建一个IBOutle将我的手机连接到我的tableViewController并在代码
  • .net Ajax calendarExtender 在 IE7 中剪切星期六(在 Firefox 中工作正常)

    我在 IE7 中遇到了这个问题 日历中似乎缺少星期六 它在 Firefox 中显示良好 一些人建议这可能是我的其他样式表搞乱了它 所以我现在使用自定义日历 CSS 主题 但我仍然遇到同样的问题 有任何想法吗 使用的 ajax 工具包是否存在
  • GCP 计算实例的公共实例 CNAME

    Azure 提供了一种使用以下方式访问 VM 的方法 cloudapp net GCP中有类似的东西吗 如果是 我在哪里 如何查看访问实例的确切 CNAME 我读到它 googleapi com 但无法在 GCP 门户上的任何位置找到它 N
  • Scrapy - 抓取时发现的抓取链接

    我只能假设这是 Scrapy 中最基本的事情之一 但我就是不知道如何去做 基本上 我会抓取一页来获取包含本周更新的网址列表 然后我需要一一进入这些网址并从中获取信息 我目前已经设置了两个刮刀 并且它们可以完美地手动工作 因此 我首先从第一个
  • 单个字符串可以包含多行吗?

    例如 如果我将多行分配给一个字符串 如下所示 while line reader readLine null output line n 我是否可以将带有行分隔符的输出作为一个字符串返回 我正在编写一个具有客户端和服务器程序的套接字程序 其
  • ASP.NET 从母版页调用控制器方法?

    在 ASP NET MVC2 中 如何从母版页调用控制器方法 举例来说 我想在主数据中包含一些概述数据 Logo Welcome xyz total sales this month 999 Home Sales Import Export
  • 我可以让 H2 在内存数据库中自动创建模式吗?

    我已经看过了内存中的 H2 数据库 通过 Spring Hibernate 初始化模式 https stackoverflow com questions 1945175 h2 database in memory init schema
  • 抛出旧异常的同时抛出新异常

    如果在由异常引起的堆栈展开期间 C 中的析构函数抛出异常 则程序将终止 这就是为什么析构函数永远不应该在 C 中抛出 示例 struct Foo Foo throw 2 whoops already throwing 1 at this p
  • Java - 设置jScrollBar的位置

    我在 JScrollPane 中有一个 JTable 该表每隔一段时间就会获取新的数据行 最终 数据行数超出了一次显示的数量 因此 ScrollPane 启动 我希望 Scroll Pane 在每次添加新数据时跳到底部 到其最大值 所以我写
  • JWT 身份验证:使用 UI 令牌来验证 Graphene/Django (GraphQL) 查询?

    我正在开发一个具有以下架构的项目 UI 通过 Node 服务器 GraphQL 的 Apollo 客户端对客户端和服务器端渲染进行反应 API Django 通过 Graphene 处理 GraphQL 查询 我使用 Auth0 基于 JW
  • 是否可以使用“使用 PayPal 登录”代表用户发出 REST api 请求?

    我们已经成功整合了使用 PayPal 登录 以前称为 PayPal Access https developer paypal com webapps developer docs integration direct log in wit
  • 如何从 gmtime() 的时间+日期输出中获取自纪元以来的秒数?

    你如何做反向gmtime 你把时间 日期放在哪里并获取秒数 我有像这样的字符串 Jul 9 2009 20 02 58 UTC 我想获取该纪元与 2009 年 7 月 9 日之间的秒数 我努力了time strftime但我不知道如何正确使
  • IllegalStateException:应用程序的 PagerAdapter 更改了适配器的内容,而没有调用 PagerAdapter#notifyDataSetChanged

    我正在使用ViewPager示例与ActionBar取自 Android 文档的选项卡here http developer android com reference android support v4 view ViewPager h
  • CouchDB复制忽略零星文档

    我的应用程序有一个 CouchDB 设置 CouchDB 2 1 1 它在很大程度上依赖于复制完整性 我们使用 每个用户一个数据库 方法 并附加一层 角色 db s 将用户分组 如下图所示 最近 在增加测试人员数量的同时 我们发现一些文档没