0

我在使用 couchDB 时遇到了一个奇怪的问题。由于未知冲突,我的数据库中的某些文档无法更新。将它们与 Futon 中的其他文档进行比较时,我看不出与其他文档有任何大的不同。当我尝试更新其中一个文档时,修订号会从例如 45 跳到 58,但看不到任何更改。这就是我在 couchdb 日志文件中看到的内容。

[Tue, 22 Nov 2016 13:45:10 GMT] [debug] [<0.30579.229>] Minor error in HTTP request: conflict
[Tue, 22 Nov 2016 13:45:10 GMT] [debug] [<0.30579.229>] Stacktrace: [{couch_db,update_doc,4,
                                  [{file,"couch_db.erl"},{line,432}]},
                                 {couch_httpd_db,update_doc,6,
                                  [{file,"couch_httpd_db.erl"},
                                   {line,753}]},
                                 {couch_httpd_db,do_db_req,2,
                                  [{file,"couch_httpd_db.erl"},
                                   {line,234}]},
                                 {couch_httpd,handle_request_int,5,
                                  [{file,"couch_httpd.erl"},{line,318}]},
                                 {mochiweb_http,headers,5,
                                  [{file,"mochiweb_http.erl"},{line,94}]},
                                 {proc_lib,init_p_do_apply,3,
                                  [{file,"proc_lib.erl"},{line,239}]}]
[Tue, 22 Nov 2016 13:45:10 GMT] [info] [<0.30579.229>] 127.0.0.1 - - PUT /DBNAME/external_link-35174841-41a5-44e3-a567-ec56209dc8b8-de_DE-1 409
[Tue, 22 Nov 2016 13:45:10 GMT] [debug] [<0.30579.229>] httpd 409 error response:
{"error":"conflict","reason":"Document update conflict."}

有什么想法吗?

4

1 回答 1

0

文档说,当多个线程或程序尝试同时更新文档时,可能会发生冲突。

你确定你的数据库中没有另一个线程写入,也许是一个mapreduce?这将解释不同的修订号。

于 2016-11-29T15:41:03.540 回答