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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]