2016-11-22 66 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?這將解釋不同的版本號。