tonysun83 commented on pull request #3909:
URL: https://github.com/apache/couchdb/pull/3909#issuecomment-1023804432
I've updated the code to reflect some of the suggestions.
```
[noreply, forbidden, noreply] -> forbidden, but return 201 for overall
bulk_docs
[forbidden, noreply, forbidden] -> forbidden, but return 201 for overall
bulk_docs
[{ok, Doc1}, forbidden, {ok, Doc2}] -> {ok, {ok, Doc1}, {ok, Doc2}} - success
[forbidden, {ok, Doc1}, forbidden] -> {error, {mismatched_errors, Replies}}
[forbidden, some_other_error, forbidden] -> {error, {mismatched_errors,
Replies}}
[error_a, error_b, forbidden] -> {error, {mismatched_errors, Replies}}
```
`[noreply, noreply, forbidden]` -> This one is tricky because and I don't
have an answer for this. Right now it would be a success because quorum rules
would it let slide through by the order of the `noreply`. In order to check for
the possibility of a forbidden, we would have to wait for all nodes to respond
for every request before making a decision. I think that's going to make things
really non performant. Hypothetically, let's say we 7 nodes and one node
extends the revision tree and is the most up to date and the other 6 for some
reason are behind and the revision tree is not extended for all of them. I
think we should leave the quorum rules here in place.
--
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]