2016-11-22 37 views
0

我遇到了一个奇怪的问题与couchDB。由于未知冲突,我的数据库中的某些文档无法更新。在将它们与蒲团中的其他文档进行比较时,我没有看到与其他文档有很大差异。当我尝试更新其中一个文件时,修订号从例如45至58,但没有可见的变化。 这是我在CouchDB的日志文件中看到..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."} 

任何想法是怎么回事?

回答

0

docs说,当多个线程或程序尝试更新在同一时间的文件冲突可能会发生。

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