mysqlnd_ms_xa_gc
(PECL mysqlnd_ms < 1.6.0)
mysqlnd_ms_xa_gc — Collecte les données incorrectes issues des transactions XA non terminées en raison d'erreurs sévères
Description
Collecte les données incorrectes issues de transactions XA non terminées.
Le protocole XA est un protocole bloquant. Il existe des cas où les serveurs participants à une transaction globale ne peuvent réaliser les opérations, par exemple, lorsque le coordinateur de transaction s'interrompt de façon innatendu ou se déconnecte. Dans de tel cas, les serveurs MySQL restent en attente d'instruction pour finir la transaction XA en question. En raison du fait que les transactions occupent des ressources, elles doivent toujours être terminées proprement.
Le collecteur de données incorrectes requiert le stockage d'un statut pour tracker les transactions globales. Lorsqu'un client PHP se termine de façon innatendue au milieu d'une transaction, et qu'un nouveau client PHP démarre, alors le collecteur de données incorrectes peut connaître la transaction globale interrompue et la terminer. Si vous ne configurez pas de stockage de statut, le collecteur de données incorrectes ne peut effectuer aucune tâche de nettoyage.
Le stockage de statut doit être sécurisé contre les crash, avoir une haute disponibilité pour survivre à son propre crash. Actuellement, seul MySQL est supporté comme stockage de statut.
Le collecteur de données incorrectes peut aussi être exécuté automatiquement en tâche de fond. Voir la directive de configuration du plugin garbage_collection pour plus de détails.
Note: Expérimental
Cette fonctionalité est actuellement en cours de développement. Il peut y avoir des bogues et/ou des limitations dans les fonctionalités. Ne pas utiliser en environnement de production.
Liste de paramètres
-
connection
-
Un gestionnaire de connexion MySQL obtenu depuis une des fonctions de connexion des extensions mysqli, mysql ou PDO_MYSQL.
-
gtrid
-
L'identifiant de transaction globale (gtrid). Si fourni, le collecteur de données incorrectes ne considérera que la transaction. Sinon, le stockage de statut sera analysé à la recherche d'une transaction non terminée.
-
ignore_max_retries
-
Si l'on doit ignorer ou non la configuration max_retries du plugin. Si le collecteur de données incorrectes échoue, et que la limite max_retries est atteinte avant de terminer la transaction globale en échec, vous pouvez tenter des exécutions avant de chercher la cause et résoudre le problème manuellement en envoyer des requêtes SQL appropriées aux participants. Le fait de définir ce paramètre a le même effet que de définir temporairement la configuration max_retries = 0.
Voir aussi
- Démarrage rapide avec les transactions distribuées/XA
- La configuration à l'exécution
- La configuration du stockage des statuts
- mysqlnd_ms_get_stats() - Retourne des statistiques quant à la distribution et la connexion de requêtes
Version en cache
24/12/2024 00:45:02 Cette version de la page est en cache (à la date du 24/12/2024 00:45:02) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-function.mysqlnd-ms-xa-gc.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.