- Verschifft
- 14. August 2026 um 02:09 UTC
- Autor
- Kamo
- Ausschuss
- 9698977
Zwei Rundreiseprobleme auf dem kritischen Pfad /Nachricht, beide unsichtbar in der Code, der sie verursacht. listFolders öffnete jeden Ordner read-only, um zwei ganze Zahlen davon zu lesen. Das ist ein SELECT und eine CLOSE pro Ordner, und es macht den Server bauen jede Mailbox-Index auf dem Weg, so dass eine zwanzigfache Mailbox verbrachte vierzig Rundreisen Beantwortung einer Frage über vierzig Zahlen. Die Sidebar lädt diese auf Halterung und wieder auf jede Mailbox-Änderung - Post ankommt, eine Nachricht gelesen, eine Bewegung, ein Löschen ist die meistgenannte IMAP-Operation im Produkt. getUnreadCount's eigenen javadoc hat gesagt, listFolders war "viel zu teuer", da es geschrieben wurde. STATUS gibt genau diese Zähler zurück und berührt keine Botschaft. Server-Werbung RFC 5819 LIST-STATUS, Dovecot unter ihnen, jetzt beantworten den ganzen Baum in einem Befehl; alles andere bekommt ein STATUS pro geschlossenen Ordner, wo Jakarta Mail's Status-Cache dient ungelesen und insgesamt von einer einzigen Antwort. Nur ein Ordner, dessen Ordner Server-Verweigerungen STATUS ist jetzt geöffnet. Der Listenpfad hatte eine N+1 nichts genannt. FetchProfile.Item.ENVELOPE expandiert auf ENVELOPE INTERNALDATE RFC822.SIZE - keine BODYSTRUCTURE und keine Header - aber toEnvelope-Aufrufe getContentType() für die Anlage heuristisch und liest Message-ID zum Threading. Jakarta Mail antwortet auf einen unvorhergesehenen Accessor von ruhig Ausgabe seiner eigenen Single-Nachricht FETCH, so dass eine fünfzig-Nachrichten-Seite Kosten bis zu hundert zusätzliche Rundreisen. Die Suche war schlimmer: es hat überhaupt nichts vorgeholt. Beide teilen sich nun ein Profil, das jedes Feld abdeckt, das Envelope liest. Die LIST-STATUS-Antwort wird hier und nicht von Jakarta Mail geparst, also ist es Parsed under Test: IMAPResponse akzeptiert eine wörtliche Protokolllinie, und die zehn Fälle decken Bestellung, \Noselect, abwesenden STATUS und nicht zusammenhängenden Verkehr ab. Eines von ist ein Fehler, der gefunden hat - ListInfo dekodiert modifiziert UTF-7-Postfachnamen und Status nicht, so dass Beitritt ihnen, wie sie ankommen würde Null ungelesen gemeldet haben für genau diese Ordner mit einem Akzent im Namen, und nichts anderes.