0

我对 geocouch 有点陌生,并且基本上没有使用 erlang 的经验,目前我得到了我认为可能导致错误匹配错误的索引损坏,但我并不完全确定。此响应在服务器运行一段时间后返回,并且似乎随着时间的推移而增加频率。如果我清理空间索引,错误会消失几个小时。

我们目前正在运行 couchbase-server-community_x86_64_1.1.deb 并且 couchbase 服务器在被褥中显示其版本 1.0.2。

我们发送的查询如下所示:

'_design/blah/_spatial/customView?43.07960959232345743,-88.20843166111015421,43.08021240619384429,-88.20760633888984614'

其中 customView 看起来像这样:

"customView": "function(doc) {if (doc.type && doc.type == \"Custom\") {emit({type: \"Point\", coordinates: [doc.loc[0], doc.loc[1]]}, doc);}};"

并且自定义文档类型具有这种条目:

"loc": [
       42.873055,
       -73.767514
   ],

我们得到的回应是这样的

ServerError: (500, ("{{badmatch,not_found},\n [{vtree,'-add_remove/5-fun-0-',3},\n  {lists,foldl,3},\n  {vtree,add_remove,5},\n  {couch_spatial_updater,'-write_changes/4-fun-2-',5},\n  {lists,zipwith,3},\n  {couch_spatial_updater,write_changes,4},\n  {couch_spatial_updater,update,2}]}", '{gen_server,call,[<0.12711.178>,{request_group,241518},infinity]}'))

所以问题是我知道这是一个调用堆栈,但我不完全确定发生了什么,并希望有人可以通过提供一些关于这是什么错误的线索/上下文来提供帮助,即。这实际上是一个损坏的索引吗?或者这是我正在使用的 geocouch 版本中的一个已知错误?甚至什么样的动作会导致 not_found 错误?等等

谢谢

4

1 回答 1

0

您的查询 URL 看起来不对,它缺少“bbox=”,但这可能不是问题所在。

您使用的是非常旧的 GeoCouch 版本,它实际上是一个使用现在不受支持的 Couchbase 产品的版本。我建议您升级到最新版本的Apache CouchDB以及最新版本的GeoCouch

如果您仍然看到相同的错误,请告诉我。

于 2013-04-08T21:27:34.010 回答