Skip to content

feat: add tier entity

Alexander Kurdakov requested to merge tiers_implemetation into master

Summary

Part of #330 (closed) - tiers implementation.

  • Introduce new global table _pico_tier with replication_factor configuration. Earlier it was stored in _pico_property.
  • Instance and Replicaset belongs to tier via new field tier in _pico_instance and _pico_replicaset.
  • New CLI option picodata run --init-cfg. It takes a path to yaml file. The bootstrap leader accounts it during raft bootstrap (start_boot function). If not specified, the cluster is bootstapped with the only tier "storage".
  • New CLI option picodata run --tier. Default value: "storage". It's accounted in start_join and proc_raft_join.
  • Function choose_replicaset_id is refactored to account tiers.

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
  • Follow-up doc issue: docs#101 (closed)
Edited by Yaroslav Dynnikov

Merge request reports