nickva commented on PR #4984:
URL: https://github.com/apache/couchdb/pull/4984#issuecomment-1992166433

   > Right.  But is this a real problem here?  The folding of Mango execution 
statistics hinges upon addition, which is a commutative and non-associative 
operation, which even lends itself to parallelization.  The collection of the 
pieces happen locally without any interaction between the workers.  Probably I 
am missing something here.
   
   It is if we want make any correctness guarantees. It doesn't have as much to 
do with commutativity and non-associativity of operations but which statistics 
should contribute to the result. We agreed to two things as far I recall:
   1) We liked Bob's idea of counting only [contributing 
workers](https://github.com/apache/couchdb/pull/4958#issuecomment-1918072757) 
2) based on your comment, not allowing uncertainty
   
   > @nickva I am afraid we cannot allow any uncertainty in the statistics if 
downstream consumers wanted to build uses cases on top of this mechanism that 
involves billing.
   
   And pointing out that having separate interleaved stats messages based on 
random arrival order from worker seems to conflict with the correctness goal. 
Towards the conclusion of request we could end up accounting for stats messages 
out-of-band so to speak, workers which did work that didn't end up contributing 
to the final response. However, as we discussed, the chance of this is probably 
low and maybe not worth worrying about. I am merely clarifying that it does 
impact correctness.
   
   


-- 
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-unsubscr...@couchdb.apache.org

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

Reply via email to