nickva edited a comment on pull request #3909: URL: https://github.com/apache/couchdb/pull/3909#issuecomment-1018659332
We should be specific that this affects the `new_edits:false` _and_ VDU pass corner case, and explicitly check that other replies are all `noreply`, meaning VDU passed or VDU might have failed but we just didn't extended the revision tree so it returned a pass. In other words, we'd assert that there is at least one forbidden error (and all the rest of forbidden should match) and all the other responses are `noreply`. Another thing to check is if the replicator knows how to handle 202 responses from `new_edits:false` _bulk_docs requests. It looks like previously we might have never returned 202 response due to: https://github.com/apache/couchdb/blob/3.x/src/fabric/src/fabric_doc_update.erl#L149-L150 ```erlang case [Reply || {ok, Reply} <- Replies] [] -> ``` So there is a high chance replicator would not expect it and consider it an error. Even if our (CouchDB) replicator would work, there is a chance PouchDB or other implementations might break. So I would lean towards staying with returning a 201 for this mode. What do you think? EDIT: It looks like replicator would break on a 202 response to _bulk_docs: https://github.com/apache/couchdb/blob/3.x/src/couch_replicator/src/couch_replicator_api_wrap.erl#L456-L465 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
