0

我们将 .couch 文件从一个驱动器移动到另一个驱动器,因为原始驱动器已达到 100% 的空间。然后我们将新驱动器重新安装到旧/原始目录。换句话说,什么都没有改变。

现在我可以查看文档但无法运行视图。

它只是挂起。

知道问题可能是什么吗?

4

1 回答 1

1

通常在不重新启动 CouchDB 的情况下随意移动文件就像在奶奶坐在椅子上时将椅子移动到椅子上一样。迟早,她会注意到.... 我猜您已经重新定位了 couchdb 文件夹的一部分,并且不足以使视图正常工作。

如果您GET $COUCH/$DB/_design/$DDOC/_info会看到一个"signature": "e5c78acfda577dfba5abb602c432ead2"字段,其中十六进制字符串与该 ddoc 的基础视图文件的名称相关。

如果您GET $COUCH/_config使用管理员凭据,您可以看到视图和索引目录的路径。您应该确保这些在重新安装期间没有被搞砸。

就我而言,它看起来像这样:

"database_dir": "/usr/local/var/lib/couchdb",
"index_dir": "/usr/local/var/lib/couchdb", 

index_dir我可以看到/usr/local/var/lib/couchdb/.testy_design/mrview/e5c78acfda577dfba5abb602c432ead2.view。这是在 master 1.3.0-a 上,因此 1.2.0 及以下版本的位置不同。无论如何,config 中的 database_dir 和 index_dir 参数需要与磁盘上的内容相匹配。检查那个。

您应该重新安装整个/usr/local/var/lib/couchdb文件(包括视图,如果您不想重建它们)而不是其中的一些子组件。

或者,它可能只是一个缓存问题,在重新启动 CouchDB 之后,事情就会安定下来。通常,Couch 依赖于缓存内容,并且不希望椅子移动:-)。

于 2012-10-02T13:05:27.087 回答