【发布时间】:2012-09-29 11:57:04
【问题描述】:
我们将 .couch 文件从一个驱动器移动到另一个驱动器,因为原始驱动器已达到 100% 的空间。 然后我们将新驱动器重新安装到旧/原始目录。 换句话说,什么都没有改变。
现在我可以查看文档但无法运行视图。
它只是挂起。
知道可能是什么问题吗?
【问题讨论】:
标签: linux couchdb couchdb-futon
我们将 .couch 文件从一个驱动器移动到另一个驱动器,因为原始驱动器已达到 100% 的空间。 然后我们将新驱动器重新安装到旧/原始目录。 换句话说,什么都没有改变。
现在我可以查看文档但无法运行视图。
它只是挂起。
知道可能是什么问题吗?
【问题讨论】:
标签: linux couchdb couchdb-futon
通常在不重新启动 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 依赖于缓存内容,并且不希望椅子移动:-)。
【讨论】: