You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/en/altinity-kb-setup-and-maintenance/users_in_keeper.md
+4-2Lines changed: 4 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -383,6 +383,7 @@ Force access reload:
383
383
SYSTEM RELOAD USERS;
384
384
```
385
385
386
+
386
387
## 10. Keeper path structure and semantics (advanced)
387
388
388
389
The following details are useful for advanced debugging or when inspecting Keeper paths manually.
@@ -405,6 +406,8 @@ When these paths are accessed:
405
406
-`CREATE/ALTER/DROP` RBAC SQL: updates `uuid` and type/name index nodes in Keeper transactions;
406
407
- runtime: watch callbacks refresh changed entities into local in-memory mirror.
407
408
409
+
## 11. Low-level internals
410
+
408
411
Advanced note:
409
412
- each ClickHouse node keeps a local in-memory cache of all replicated access entities;
410
413
- cache is updated from Keeper watch notifications (list/entity watches), so auth/lookup paths use local memory and not direct Keeper reads on each request.
- higher-level caches in `AccessControl` (`RoleCache`, `RowPolicyCache`, `QuotaCache`, `SettingsProfilesCache`) are updated/invalidated via access change notifications.
421
424
422
-
## 11. Low-level internals behind real incidents
423
-
424
425
- Read path is memory-backed (`MemoryAccessStorage` mirror), not direct Keeper reads per query.
425
426
- Write path requires Keeper availability; if Keeper is down, RBAC writes fail while some reads can continue from loaded state.
426
427
- Insert target is selected by storage order and writeability in `MultipleAccessStorage`; this is why leftover `local_directory` can hijack SQL user creation.
427
428
-`ignore_on_cluster_for_replicated_access_entities_queries` is implemented as AST rewrite that removes `ON CLUSTER` for access queries when replicated access storage is enabled.
0 commit comments