refactor: split Topology struct logic
Summary
- refactor: split Topology struct logic
- Removes topology struct
- Moves most of its logic to
join.rsandupdate_instance.rs - Adds
Cachestruct instorage.rsfor fields that are derived fromClusterwidestorage, but are costly to recalculate each time we update the instance (which from my point of view is quite often).
- refactor: correct and refactor tests after topology split
- Corrects tests to fit the new logic
- Replaces macros with functions (in places where macros are not necessary) for readability and as part of our general effort to have less macros
- doc: add doc comments to Instance functions
Close #337 (closed), #329 (closed)
Ensure that
-
New code is covered by tests -
API is documented -
Changelog is up to date -
(if Lua API changed) Lua API version is bumped in luamod.rs -
(if API docs changed) A follow-up doc issue is created in picodata/docs and linked here
Edited by Yaroslav Dynnikov