Passer au contenu principal
Il existe deux types d’instructions KILL : l’une pour interrompre une requête et l’autre pour arrêter une mutation

KILL QUERY

Tente de terminer de force les requêtes en cours d’exécution. Les requêtes à arrêter sont sélectionnées dans la table system.processes à l’aide des critères définis dans la clause WHERE de la requête KILL. Exemples : Tout d’abord, vous devez obtenir la liste des requêtes inachevées. Cette requête SQL les renvoie en les classant selon leur durée d’exécution : Liste à partir d’un seul nœud ClickHouse :
Lister à partir d’un cluster ClickHouse :
Interrompez la requête :
Si vous interrompez une requête dans ClickHouse Cloud ou dans un cluster autogéré, veillez à utiliser l’option ON CLUSTER [cluster-name] afin de garantir que la requête est interrompue sur toutes les répliques
Les utilisateurs en lecture seule ne peuvent arrêter que leurs propres requêtes. Par défaut, la version asynchrone des requêtes (ASYNC) est utilisée et n’attend pas la confirmation de leur arrêt. La version synchrone (SYNC) attend l’arrêt de toutes les requêtes et affiche des informations sur chaque processus à mesure qu’il s’arrête. La réponse contient la colonne kill_status, qui peut prendre les valeurs suivantes :
  1. finished – La requête a été interrompue avec succès.
  2. waiting – En attente de la fin de la requête après l’envoi d’un signal d’arrêt.
  3. Les autres valeurs expliquent pourquoi la requête ne peut pas être arrêtée.
Une requête de test (TEST) vérifie uniquement les droits de l’utilisateur et affiche la liste des requêtes à arrêter.

KILL MUTATION

La présence de mutations longues ou de mutations incomplètes indique souvent qu’un service ClickHouse fonctionne mal. La nature asynchrone des mutations peut les amener à consommer toutes les ressources disponibles du système. Vous devrez peut-être soit :
  • Suspendre toutes les nouvelles mutations, les INSERT et les SELECT, puis laisser la file d’attente des mutations se résorber.
  • Ou interrompre manuellement certaines de ces mutations en envoyant une commande KILL.
Tente d’annuler et de supprimer les mutations en cours d’exécution. Les mutations à annuler sont sélectionnées dans la table system.mutations à l’aide du filtre spécifié par la clause WHERE de la requête KILL. Une requête de test (TEST) vérifie uniquement les droits de l’utilisateur et affiche la liste des mutations à arrêter. Exemples : Obtenir le count() du nombre de mutations incomplètes : Nombre de mutations sur un seul nœud ClickHouse :
Nombre de mutations d’un cluster de répliques ClickHouse :
Consultez la liste des mutations incomplètes : Liste des mutations pour un seul nœud ClickHouse :
Liste des mutations d’un cluster ClickHouse :
Interrompez les mutations au besoin :
La requête est utile lorsqu’une mutation est bloquée et ne peut pas aboutir (par ex. si une fonction de la requête de mutation génère une exception lorsqu’elle est appliquée aux données contenues dans la table). Les modifications déjà effectuées par la mutation ne sont pas annulées.
La colonne is_killed=1 (ClickHouse Cloud uniquement) dans la table system.mutations ne signifie pas nécessairement que la mutation est complètement terminée. Il est possible qu’une mutation reste pendant une longue période dans un état où is_killed=1 et is_done=0. Cela peut se produire si une autre mutation de longue durée bloque la mutation interrompue. Il s’agit d’une situation normale.
Dernière modification le 25 juin 2026