caluga - java blog

category: computer

Morphium 6.3.7 and 6.3.8: Bugs We All Had

Last time it was about bugs nobody ever hit. Morphium 6.3.7 and 6.3.8 are the opposite: bugs we all had, for months, some for years. Found because we put PoppyDB onto a real message bus and looked properly - heap histograms, connection counters, logs. One Double per event that never goes away. 937,000 TCP connections in 61 hours for a client with nothing to do. A watchdog with 2,229 false alarms in a week. And a full-cluster restart that shows why a rolling restart is worthless as a test for restore paths.

5.9.2026
read more

Ghostty - switching now

I looked at Ghostty almost two years ago and stuck with WezTerm anyway. The TERM variable on remote systems annoyed me too much. That problem is gone now, so are my thousand lines of Lua config - and the cursor animates via shader these days.

5.9.2026
read more

Morphium 6.3.1 β€” and the Transparent Message Bus

We just released Morphium 6.3.1 - officially a bugfix release, in reality the harvest of 6.3.0's first two production weeks: server-side topic filters in the change stream, detection of mixed messaging implementations, and an in-memory driver that now behaves like mongod down to event ordering. And the occasion for the bigger story: why a message bus made of documents is transparent - with a peeker that reads along without consuming, and Morpheus as the cockpit for the running bus. Try that with Kafka πŸ˜‰

11.8.2026
read more

Morphium 6.3.0 β€” What's New?

Morphium 6.3.0 β€” What's New?

The largest release in the 6.x line so far. Its centre of gravity is not the client this time β€” it is PoppyDB and the in-memory driver underneath it, both of which went from "good enough to run your tests against" to something you can actually operate.

10.8.2026
read more

Using a wire proxy to do failover tests

Failover testing with `kill -9` is manual labor and never runs in CI β€” yet from a driver's perspective, failover bugs are pure wire phenomena. So we moved the faults onto the wire: one TCP proxy per replica set node that can freeze, reset, or cleanly close connections, plus `hello` rewriting so the driver never sees the real addresses. The harness promptly found real bugs β€” including a read that spent 26 seconds hammering a dead primary.

6.8.2026
read more

Morphium 6.2.6: The Timeout That Multiplied Itself by 100

Morphium 6.2.6 is out β€” and it repairs something that should never have been broken in the first place: replicaset failover. A chain of bugs (chief among them a timeout that silently multiplied itself by 100) meant the driver practically never recovered after the primary died: writes hung, messaging stayed dead. After the fixes: full write throughput ~25 seconds after a kill -9, no lost messages. Also on board: a fix for `findOneAndUpdate` deleting documents instead of updating them on read-cache hits, a self-deadlock in the SingleMongoConnectDriver, and `$setOnInsert`/upsert support in the InMemoryDriver.

9.7.2026
read more

Morphium 6.2.5: The One-Document Batch That Cost 20 Seconds

Morphium 6.2.5 is out. A quiet patch release with one loud story: a hardcoded change stream `batchSize=1` that turned into 20-second latency spikes over a high-latency link β€” plus Atlas TXT seedlist support, Quarkus native-image pre-registration, and a batch of InMemoryDriver and aggregation fixes.

26.6.2026
read more

Morphium v6.x Update: 13 Releases at a Glance

13 releases, 417 commits: Morphium v6.x has evolved massively. MorphiumServer with replica set support and SSL, a finally stable connection pool, significantly faster InMemoryDriver, and self-healing ChangeStreams. Plus: Jackson removed as a dependency. An overview of everything important since v6.0.0.

23.2.2026
read more

Morphium version 6

Announcing Morphium 6.0: Modern Java ODM with Built-in Messaging

Today we're thrilled to announce Morphium 6.0, a major release of our feature-rich MongoDB Object Document Mapper for Java. This release brings full JDK 21 support, a comple...

22.9.2025
read more

New Terminal Ghostty

Ghostty is a new terminal emulator that is currently generating a lot of buzz and has sparked quite a hype. I took a closer look at it.

27.12.2024
read more

Keylayout MacOS Nodeadkeys

Unfortunately MacOS does not have an option to switch off dead keys in your keyboad layouts. Especially for coding this is pain. Here is a way to change that.

2.9.2023
read more

the nix package manager

As I am always looking for new interesting tools, I came accross this new (or actually old) player in the realms of package managers for Unix/Linux: Nix. But the most interesting thing about it is not the package management itself, it is the reproducability of builds, that cought my interest.

30.8.2023
read more

New blog software

the java based blog sofware jblog was in use quite some time now and I thought it is in need of some additional love

28.8.2023
read more

NeoVim Editor

This is really a topic that can stir up emotions. Which text editor to choose and configure is a very important decision especially for Unix users.

this and my neovim journey describt in this post

7.6.2023
read more

Morphium version 5

Morphium, the java pojo objectmapper for mongodb, needed some rewrites and improvements. All details in this post.

15.11.2022
read more
load more