Servir un dossier listant à partir de l'index quand il peut prouver qu'il est en cours

FeatureEmailService
Expédié
14 août 2026 à 02:24 UTC
Auteur
Kamo
Commite
d70fbde

Les lignes derrière une liste de messages sont déjà dans Postgres et l'index des métadonnées détient l'expéditeur, le sujet, la date, la taille, la fixation et les drapeaux pour chaque message qu'il a vus. La lecture d'une page à partir de là est une requête; la lire à partir d'IMAP est un SELECT plus une ELEUX D'une enveloppe de cinquante PETCH et fait que le serveur construit l'index de boîte aux lettres à la réponse. Ce qui a empêché quiconque l'utilise n'est pas la vitesse mais la confiance. L'indice est rempli par un un indexeur de poussée qui ne court que lorsque quelqu'un a la boîte aux lettres ouverte, donc c'est autorisés à être arbitrairement rassis, et rien ne distingue un dossier courant de a une rugosité. Un STATUS les distingue. C'est la question la moins chère à laquelle l'IDAF répond SELECT, pas de données de message - et il retourne le nombre de messages du dossier et son prochain UID. L'indice n'est utilisé que lorsque les deux correspondent à ce qu'il contient: les captures de comptage Tout ce qui a été ajouté ou retiré, et maxUid 1 - UIDNEXT capte le cas d'un décompte ne peut pas voir où beaucoup sont arrivés qu'ils ont été supprimés. UIDNEXT ne fait que de l'avant, donc un appendice l'index manqué le laisse bloqué au-dessus de l'indice UID le plus élevé Le sait. Tous les autres résultats retombent à IMAP: un dossier manquant, un serveur qui décodeur STATUS, un index vide, une erreur de base de données. Le pire résultat disponible est le un comportement qui existait avant cela. Un dossier qui échoue au test se guérit lui-même lorsque le message suivant arrive et est indexé. Hors par défaut à l'arrière - parce que la réponse le marqueur dépend de search-index.is-answer, qui n'existe pas jusqu'à ce que KamoInitializer a couru. Le fait de le faire est alors un acte délibéré plutôt qu'un effet indésirable d'un déploiement. Le prédicat de l'accord est où être faux montre quelqu'un le mauvais mail, donc il est pur, privé et testé dans cette direction - chaque cas demande si il peut utiliser l'index quand il ne doit pas.

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