【问题标题】:How To Flush a Bucket in Couchbase Sync Gateway如何在 Couchbase 同步网关中刷新存储桶
【发布时间】:2017-12-10 22:32:16
【问题描述】:

Couchbase 服务器有一种方法可以删除存储在名为doFlush 的存储桶中的所有数据。它通过以下命令调用:

POST /pools/default/buckets/[bucket-name]/controller/doFlush

当我尝试使用 Sync Gateway API 调用此函数时,它返回以下错误:

{'error': 'not_found', 'reason': 'unknown URL'}

同步网关确实有办法delete a bucket,但该操作只会从配置文件中删除存储桶。它实际上并没有删除与其关联的记录。有没有办法刷新同步网关,或者作为后备删除存储的数据?

【问题讨论】:

    标签: couchbase couchbase-sync-gateway


    【解决方案1】:

    首先,了解 Sync Gateway 中的 Database 和 Couchbase Server 中的 Bucket 是不同的。

    同步网关无法刷新存储桶,因为它是一个独立的实体,而不是存在存储桶的 Couchbase 服务器,并且它没有刷新甚至删除存储桶的权限。 Sync Gateway 中的 Database 仅表示创建的对象,它引用 Couchbase Server 中的存储桶。

    doFlush 不适用于 Sync Gateway,因为它属于 Couchbase Server API 而不是 Sync Gateway API。

    对于 Sync Gateway 版本 1.*,由于与同步相关的元数据与数据一起存储在主存储桶或影子存储桶中,因此刷新两者会删除与同步相关的数据。现在由于同步相关的元数据存储在 XAttrs 中,因此刷新存储桶不会删除 XAttrs,从而导致后续更改。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-24
      • 1970-01-01
      • 1970-01-01
      • 2016-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多