mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-25 11:00:35 +00:00
This patchset replaces permissions cache based on loading_cache with a new unified (permissions and roles), full, coherent auth cache. Reason for the change is that we want to improve scenarios under stress and simplify operation manuals. New cache doesn't require any tweaking. And it behaves particularly better in scenarios with lots of schema entities (e.g. tables) combined with unprepared queries. Old cache can generate few thousands of extra internal tps due to cache refresh. Benchmark of unprepared statements (just to populate the cache) with 1000 tables shows 3k tps of internal reads reduction and 9.1% reduction of median instructions per op. So many tables were used to show resource impact, cache could be filled with other resource types to show the same improvement. Backport: no, it's a new feature. Fixes https://github.com/scylladb/scylladb/issues/7397 Fixes https://github.com/scylladb/scylladb/issues/3693 Fixes https://github.com/scylladb/scylladb/issues/2589 Fixes https://scylladb.atlassian.net/browse/SCYLLADB-147 Closes scylladb/scylladb#28078 * github.com:scylladb/scylladb: test: boost: add auth cache tests auth: add cache size metrics docs: conf: update permissions cache documentation auth: remove old permissions cache auth: use unified cache for permissions auth: ldap: add permissions reload to unified cache auth: add permissions cache to auth/cache auth: add service::revoke_all as main entry point auth: explicitly life-extend resource in auth_migration_listener