Ces paramètres sont disponibles dans system.merge_tree_settings et sont générés automatiquement à partir du code source de ClickHouse.
always_fetch_merged_part
Si cette valeur est true, cette réplique ne fusionne jamais les parties et télécharge toujours les parties fusionnées depuis d'autres répliques.
Valeurs possibles :
- true, false
always_fetch_mutated_part
Historique des versions
| Version | Valeur par défaut | Commentaire |
|---|---|---|
| 26.8 | 0 | Nouveau paramètre permettant à une réplique de récupérer les parties mutées au lieu d’exécuter les mutations localement |
Si sa valeur est true, cette réplique n’exécute jamais les entrées MUTATE_PART du journal de réplication
(mutations classiques telles que ALTER TABLE ... UPDATE/DELETE) et
télécharge systématiquement les parties mutées résultantes depuis d’autres répliques.
Au moins une réplique doit avoir ce paramètre désactivé ; sinon, les mutations ne peuvent pas aboutir.
Ce paramètre n’affecte pas les parties de correctif créées par les lightweight updates :
elles sont toujours appliquées localement lors de la fusion des parties. Activez
également always_fetch_merged_part afin de décharger également les fusions (y compris
l’application des parties de correctif) sur d’autres répliques.
Comme cette réplique n’exécute pas de mutations et que le statut d’échec d’une mutation
est local à chaque réplique, une attente synchrone sur cette réplique
ne peut pas détecter les échecs de mutation qui surviennent sur les répliques exécutant
la mutation. Par conséquent, les mutations synchrones (mutations_sync = 1
ou 2) et les requêtes ALTER synchrones qui modifient des données
(alter_sync = 1 ou 2) sont rejetées sur une telle réplique avec une
erreur SUPPORT_IS_DISABLED, plutôt que de provoquer une attente qui resterait bloquée si la
mutation échoue. Utilisez mutations_sync = 0 (alter_sync = 0) ou exécutez
ces requêtes sur une réplique qui exécute les mutations.
Valeurs possibles :
- true, false