refactor: split Topology struct logic
Summary
- refactor: split Topology struct logic
- Removes topology struct
- Moves most of its logic to
join.rs
andupdate_instance.rs
- Adds
Cache
struct instorage.rs
for fields that are derived fromClusterwide
storage, 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