You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@couchdb.apache.org by GitBox <gi...@apache.org> on 2021/09/15 19:43:07 UTC

[GitHub] [couchdb] nickva opened a new pull request #3751: Fix meta result for views when limit = 0

nickva opened a new pull request #3751:
URL: https://github.com/apache/couchdb/pull/3751


   Previously, as soon as one row returned, we immediately stopped, erroneously
   assuming that meta for all ranges have already been received. However, it was
   possible that we'd get meta from range `00-7f`, then a row from `00-7f` before
   getting meta from `7f-ff` and thus we'd return an empty result.
   
   To fix the issue we simply re-use the already existing limit=0 clause from the
   [fabric_view:maybe_send_row/1](https://github.com/apache/couchdb/blob/9f081914fe1fd7f31c2c1c7b3ead89427cf342f3/src/fabric/src/fabric_view.erl#L124-L134) function which will wait until there is a complete
   ring before returning. That relies on updating the counters (the ring) only
   with meta return and not with view rows, so if the ring is complete, we know we
   only completed with meta.
   
   The other issue with limit=0 clause was that it wasn't properly ack-ing the
   received row. Rows are ack-ed for [sorted=false](https://github.com/apache/couchdb/blob/9f081914fe1fd7f31c2c1c7b3ead89427cf342f3/src/fabric/src/fabric_view_map.erl#L157) case below and for the regular
   limit>0, sorted=true case in [fabric_view:get_next_row/1](https://github.com/apache/couchdb/blob/9f081914fe1fd7f31c2c1c7b3ead89427cf342f3/src/fabric/src/fabric_view.erl#L268)
   
   To test run the reproducer script from https://github.com/apache/couchdb/issues/3750 with limit =0


-- 
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: notifications-unsubscribe@couchdb.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [couchdb] nickva merged pull request #3751: Fix meta result for views when limit = 0

Posted by GitBox <gi...@apache.org>.
nickva merged pull request #3751:
URL: https://github.com/apache/couchdb/pull/3751


   


-- 
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: notifications-unsubscribe@couchdb.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org