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

   Yeah something like get/set can work and agree I am not a fan of how `props` 
is spread over all `#shard{}` copies in the shards cache, ideally it should be 
something like `dbname -> props` as a new mem3 cache (ets table).  But it would 
be good ,I think, to have a general well working `props` and maybe like we 
discussed in the couchdb meeting even use security for it and get a nice 
optimization boost from not having to deal with get_db any longer.
   
   Props also has a bit of an extra benefit that it will automatically show up 
in the dbs_info result so users can inspect them the flags.
   
   So far I have been trying to extract the "update shard map" bit from 
mem3_reshard and make it a general utility. It's got some resharding specific 
bits in there and perhaps extra belts and suspenders like for instance:
     * before making the change the leader (first live node), pull changes from 
other nodes
     * after the change it force pushes the changes to all the nodes
     * there is a wait to propagate step where we wait for the change to take 
effect on other nodes
   
   Some of theses are there to protect against creating conflicts or handle the 
case where the ring may have just broken and such but maybe some of it 
overkill, too.
     


-- 
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