davisp commented on issue #496: Couchdb 3287 pluggable storage engines
URL: https://github.com/apache/couchdb/pull/496#issuecomment-314139670
 
 
   For more color since I was talking to @garrensmith off list about his work 
on couch_rocks, those two places are a bit rough because I wanted to match the 
existing API/behavior exactly.
   
   The `include_reductions/fold_docs` issue is for _all_docs when we list a 
total_rows and offset value. Specifically, the offset is difficult to calculate 
for anything that's not tree shaped. For engines that aren't tree shaped I 
recommend just faking a reduce value there and ignoring that the offset would 
be wrong (since we already recommend against using it for paging and other such 
things anyway). This edge case would be fixable if we ever drop the offset 
calculation.
   
   The monitoring functions are also a bit funky. I exposed them in the API in 
case a storage engine wanted to be fancier there. But that's all how it 
interacts with couch_server so that we can make the guarantees about single 
writers per shard and so on. Its possible that in the future we remove those if 
we spend much time on reworking couch_server to change its semantics. For now 
its easy enough to implement, its just confusing *why* we implement it the way 
we do unless you're familiar with the whole couch_server notion of idle and how 
that's implemented with couch_file pids vs couch_db_updater pids.
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to