You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@couchdb.apache.org by gi...@git.apache.org on 2017/07/10 15:21:55 UTC

[GitHub] davisp commented on issue #496: Couchdb 3287 pluggable storage engines

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:
users@infra.apache.org


With regards,
Apache Git Services