mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-29 20:57:00 +00:00
" Lots of code needs storage_service just to get token_metadata from. This creates unwanted dependency loops and increases the use of global storage_service instance. This set keeps the sharded<locator::token_metadata> on main's stack and carries the references where needed. This removes the dependency on storage_service from: - storage_proxy - gossiper - redis - batchlog manager and makes the database only need it for sstables_format (will fix in one of the next sets). Also, this set is the prerequisite for controlling the copying of token_metadata instances (spotted two occurrences in bootstrap code). Tests: unit(dev), manual start-stop " * 'br-token-metadata-standalone-2' of https://github.com/xemul/scylla: api: Keep and use reference on token_metadata redis: Use proxy token_metadata gossiper: Keep needed for failure_detection values on board database: Use own token_metadata batchlog: Use token_metadata from proxy proxy: Use own token_metadata gossiper: Use own token_metadata tokens: Switch into standalone sharded instance batchlog: Use in-config ring-delay database: Have it in size_estimate_virtual_reader storage_proxy: Pass token_metadata in some static helpers storage_service: Move get_local_tokens wrapper size_estimates_virtual_reader: Make get_local_ranges static migration_manager: Refactor validation of new/updating ksm storage_service: Tiny cleanup of excessive self-reference