Arrêter les défaillances d'assignation détruisant le ticket qui les a déclenchés

FixMediaService
Expédié
10 août 2026 à 17:57 UTC
Auteur
Kamo
Commite
4007c5b

Le routage d'un nouveau ticket a couru à l'intérieur de la transaction de création, donc tout ce qu'il a frappé J'ai roulé le billet avec lui et le membre demandant de l'aide a reçu "Faignu de créer ticket" avec rien de sauvé n'importe où. Deux choses l'ont frappé, les deux latents jusqu'à ce que les demandes de chat commencent à atteindre ce code - round-robin avait effectivement jamais exécuté en production, de sorte qu'il n'a jamais rencontré YugabyteDB : - getEligibleLes agents balayent toutes les rangées de droits appliqués dans l'orge et filtrés dans Java: des milliers de rangées jointes à des membres, courir tard dans une écriture transactionnelle. YugabyteDB ne peut que redémarrer de manière transparente une lecture qui est la première déclaration dans sa transaction, de sorte que celle-ci a été soulevée "Redémarrer en lecture obligatoire" (SQLState 40001). Il utilise maintenant la recherche indexée à point filtré qui SupportQueueService et SupportPendingCountService sont déjà utilisés. - Un traqueur à robin rond nouvellement créé a été immédiatement verrouillé ÉCRITURE PESSIMISIQUE. L'entité est intransversée, c'est-à-dire SELECT... POUR MISE À JOUR par ligne cette même opération non engagée n'avait qu'une seule opération inséré; il ne retourne rien et Hibernate soulève StaleObjectStateException. Rien ne peut faire face à une querelle qui n'existe pas encore - l'unique La contrainte sur TOPIC-ID est ce qui règle une course de création. Traceurs existants sont toujours verrouillés. Structurellement, le routage se produit maintenant dans sa propre transaction après que le billet a engagement (SupportController appelle routeNewTicket, retomber à annonceNewTicket si cela échoue). L'affectation est une commodité; le billet est la chose qui doit survivre. Cela donne également la grande quantité de la mission lire une une transaction dans laquelle il s'agit de la première déclaration.

Tous les changements

Comme ce que tu vois expédier ?

Chacune de ces mises à jour atterrit automatiquement dans votre espace de travail. Commencez gratuitement et regardez-le grandir semaine après semaine.

Commencez gratuitement pour toujoursPrix de visualisation