Caluga - Java blog

Archiv 2026

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
weiter lesen

Morphium 6.3.0 — Was ist neu?

Morphium 6.3.0 — Was ist neu?

Das größte Release der 6.x-Reihe. Der Schwerpunkt liegt diesmal nicht beim Client, sondern bei PoppyDB und dem In-Memory-Driver darunter — beide sind von „gut genug, um Tests dagegen laufen zu lassen" zu etwas geworden, das man tatsächlich betreiben kann.

10.8.2026
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
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
weiter lesen

Morphium 6.2.5: Wie batchSize=1 20 Sekunden Latenz versteckte

Morphium 6.2.5 ist da. Ein unauffälliges Patch-Release mit einer lauten Geschichte: ein hartcodiertes `batchSize=1` im Change Stream, das über eine Verbindung mit hoher Latenz zu 20-Sekunden-Spikes führte — dazu Atlas-TXT-Seedlist-Support, Quarkus-Native-Image-Vorabregistrierung und eine Reihe von InMemoryDriver- und Aggregation-Fixes.

26.6.2026
weiter lesen

Morphium v6.x Update: 13 Releases im Überblick

13 Releases, 417 Commits: Morphium v6.x hat sich massiv weiterentwickelt. MorphiumServer mit Replica-Set-Support und SSL, ein endlich stabiler Connection-Pool, deutlich schnellerer InMemoryDriver und selbstheilende ChangeStreams. Plus: Jackson als Dependency entfernt. Ein Überblick über alles Wichtige seit v6.0.0.

23.2.2026
weiter lesen