Neueste Blogeinträge

Morphium 6.3.4 bis 6.3.6: Fehler beheben, die nie jemand hatte

Morphium 6.3.4 bis 6.3.6 sind die seltsamsten Releases, das ich je gemacht habe: kein einziger Fix geht auf einen Bug-Report zurück. Alle Fehler wurden per Code-Review von AIs gefunden - OpenAI, Anthropic und opencode in Kollaboration - in Code, der nie jemanden im Stich gelassen hat. Stiller Datenverlust unter Last, 3GB festgenagelter Speicher, und ein "flaky" CI-Test, der in Wahrheit ein echter Bug war und monatelang angeklopft hat. Eine Woche Arbeit für Fehler, die nie jemand hatte. Noch nicht. Über meine Hassliebe zu Reviewern, die nie müde werden.

21.8.2026
weiter lesen

Morphium 6.3.1 — und der durchsichtige Message-Bus

Wir haben gerade Morphium 6.3.1 released - offiziell ein Bugfix-Release, tatsächlich die Ernte der ersten zwei Produktionswochen von 6.3.0: serverseitige Topic-Filter im Change Stream, Erkennung gemischter Messaging-Implementierungen, und ein In-Memory-Driver, der sich jetzt bis zur Event-Reihenfolge wie mongod verhält. Und der Anlass für die größere Geschichte: warum ein Message-Bus aus Dokumenten durchsichtig ist - mit einem Peeker, der alles mitliest ohne zu konsumieren, und Morpheus als Cockpit für den laufenden Bus. Versucht das mal mit Kafka 😉

11.8.2026 morphium java morphium mongodb poppydb messaging release programming quarkus
weiter lesen

Mit Hilfe des WireProxy failover tests

Failover-Tests mit `kill -9` sind Handarbeit und laufen nie in der CI — dabei sind Failover-Bugs aus Treibersicht reine Leitungsphänomene. Also haben wir die Fehler auf die Leitung verlegt: ein TCP-Proxy pro Replica-Set-Knoten, der Verbindungen einfrieren, resetten oder sauber schließen kann, plus `hello`-Rewriting, damit der Treiber die echten Adressen nie zu Gesicht bekommt. Der Harness fand prompt echte Bugs — inklusive eines Reads, der 26 Sekunden lang einen toten Primary anhämmerte.

6.8.2026 morphium java morphium mongodb programming release poppydb
weiter lesen

Morphium 6.2.6: Der Timeout, der sich mit 100 multiplizierte

Morphium 6.2.6 ist da — und repariert etwas, das eigentlich nie kaputt sein dürfte: den Replicaset-Failover. Eine Kette von Bugs (allen voran ein Timeout, der sich still mit 100 multiplizierte) sorgte dafür, dass der Treiber nach dem Tod des Primary praktisch nie zurückkam: Writes hingen, Messaging blieb tot. Nach den Fixes: volle Schreiblast ~25 Sekunden nach einem kill -9, keine verlorenen Messages. Außerdem an Bord: ein Fix für `findOneAndUpdate`, das bei Read-Cache-Hits Dokumente löschte statt sie zu updaten, ein Self-Deadlock im SingleMongoConnectDriver und `$setOnInsert`/Upsert-Support im InMemoryDriver.

9.7.2026 morphium morphium java mongodb replicaset failover release
weiter lesen

Morphium 6.2.4 — Wenn Messaging stillschweigend stirbt

Morphium 6.2.4 ist da — und der Anlass war ein Bug, der schwerer zu finden war als zu fixen. In Produktion stoppte das Messaging plötzlich, der Backlog wuchs, im Log stand: nichts. Nur das 10-Sekunden-Fallback-Polling griff noch und hielt die Anwendung gerade so halblebendig. Was wir dabei über Producer/Consumer-Architektur, stille `Error`s und das harte 16-MB-BSON-Limit gelernt haben — und welche fünf Schutzschichten daraus geworden sind.

8.5.2026 morphium java mongodb messaging change-stream debugging release
weiter lesen