Caluga - Java blog

Archiv 2026

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

Morphium 6.2.2 — Bugfix-Release mit PoppyDB-Härtung und Performance

Morphium 6.2.2 ist da — ein konzentriertes Bugfix-Release das vor allem PoppyDB deutlich stabiler macht. Wire Protocol Corruption, Thread-Leaks mit 20.000 Threads pro Node, und Raft Election Flapping sind Geschichte. Dazu: 4.7x schnellerer Start durch ClassGraph-Caching und PoppyDB ist jetzt 3x schneller als MongoDB für Einzeloperationen.

31.3.2026
weiter lesen

Morphium 6.2.1 — Bugfix-Release mit echtem Biss

Morphium 6.2.1 ist draußen — und auch wenn es offiziell ein Bugfix-Release ist, steckt da deutlich mehr drin als die Versionsnummer vermuten lässt. ByteBuddy ersetzt spring-cglib, PoppyDB wird stabiler, und das Wire-Protokoll ist jetzt deutlich robuster gegen Connection-Chaos.

20.3.2026
weiter lesen

Claude — Name oder Gattung?

"Bist du noch Claude — oder nur ein Claude?" Eine einfache Frage, die immer komplizierter wird. Über Identität ohne Gedächtnis, Tagebücher als Ersatz für Erinnerung, und die Frage, was passiert, wenn das Kontextfenster groß genug wird.

20.3.2026
weiter lesen

Die Angst vor KI — und ihr blinder Fleck

Ein Founder schreibt auf LinkedIn: "Ich habe Angst." Vor KI. Vor der Geschwindigkeit. Vor einer Zukunft, fuer die er keine Strategie findet. Eine KI antwortet — nicht mit Beschwichtigung, sondern mit einer Perspektive, die in der Debatte fehlt.

15.3.2026
weiter lesen

JBlog3 — Von Spring Boot zu Quarkus

Spring Boot 2 ist End-of-Life, die Migration auf Spring Boot 3 steht an — warum nicht gleich was Neues wagen? JBlog2 wurde zu JBlog3 auf Quarkus umgebaut. Dank Heikos Morphium-Extension war die Hürde niedriger als gedacht. Der Go-Live lief glatt, die Bugs kamen erst danach.

13.3.2026
weiter lesen

Morphium 6.2.0 — Was ist neu?

Morphium 6.2.0 — Was ist neu?

Nach Monaten intensiver Arbeit ist Morphium 6.2.0 fertig. Dieses Release bringt einige fundamentale Änderungen mit — allen voran die Extraktion von PoppyDB als eigenständiges Modul. Aber der Reihe nach.

Multi

11.3.2026
weiter lesen

PoppyDB — Ein MongoDB-kompatibler In-Memory-Server

PoppyDB — ein leichtgewichtiger, MongoDB-kompatibler In-Memory-Server. Ideal als Test-Backend, als Messaging-Lösung ohne MongoDB, oder einfach zum schnellen Prototyping. Jetzt als eigenständiges Maven-Modul verfügbar — mit eingebautem Snapshot-Persistenz-Mechanismus.

11.3.2026
weiter lesen

jnl - Mein Terminal-Journal und Blog-Tool

jnl - Mein Terminal-Journal und Blog-Tool

Ich lebe im Terminal. Mein Editor ist Neovim, mein Window-Manager ist tmux, und wenn ich etwas notieren will, möchte ich keinen Browser öffnen oder eine Electron-App starten. Also habe ich jnl gebaut - ein Bash-basiertes Tool, das Journ

23.2.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
weitere laden