处理由BigCouch中的复制引起的冲突

CouchDB 复制和冲突 wiki页面build议使用_bulk_docs all_or_nothing=true来强制写入文档的新版本,即使这会在写入时引入冲突,然后在后续读取之后立即parsing。 我已经实现了这个概念上,它似乎工作正常。

但BigCouch不支持all_or_nothing语义,因此写入批量文档可能会返回409个冲突结果。 对BigCouch中的复制引入的冲突实施类似的应用程序级冲突解决scheme的最佳做法是什么? 我应该看写时冲突解决吗?

如果在附件过程中发生冲突,并在发生冲突时recursion调用,则获取要更新的文档的修订版本号,

 $url = "http://couchdb/DATABASE/DOCID/ATTACHMENTNAME?rev=$rev"; curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); curl_setopt( $ch, CURLOPT_PUT, true ); curl_setopt( $ch, CURLOPT_URL, $url ); curl_exec( $ch ); 
Interesting Posts