[ https://issues.apache.org/jira/browse/COUCHDB-3113?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15890507#comment-15890507 ]
ASF subversion and git services commented on COUCHDB-3113: ---------------------------------------------------------- Commit dd02a3938f267716e3479b7162e0b0a4f8ba3d51 in couchdb-fabric's branch refs/heads/2971-count-distinct from [~tonysun83] [ https://git-wip-us.apache.org/repos/asf?p=couchdb-fabric.git;h=dd02a39 ] Return error when workers crash Currently, when one worker survives in fabric_open_revs, we return that as the response. However, when all workers crash, we still return {ok, []}. This changes the response to an error. COUCHDB-3113 > fabric:open_revs can return {ok, []} > ------------------------------------ > > Key: COUCHDB-3113 > URL: https://issues.apache.org/jira/browse/COUCHDB-3113 > Project: CouchDB > Issue Type: Bug > Reporter: ILYA > > According to typespec fabric:open_revs should return > - {ok, #doc{}} > - {{not_found,missing}, revision()} > However in the case when the coordinator receive rexi_EXIT from multiple > workers before the reply (for example when the worker crashes) the open_revs > reply becomes \{ok, []}. > This is due to the fact that we dispatch rexi_DOWN and rexi_EXIT recursively > to handle_message(\{ok, Replies} [see > here|https://github.com/apache/couchdb-fabric/blob/master/src/fabric_doc_open_revs.erl#L73 > clause]. Note that we set reply to be [] and worker to be nil. -- This message was sent by Atlassian JIRA (v6.3.15#6346)