Gunnar Morling
banner
gunnarmorling.dev
Gunnar Morling
@gunnarmorling.dev
Technologist @ Confluent · Ex-lead of Debezium · Spec lead of Bean Validation 2.0 · Creator of JfrUnit, kcctl and MapStruct · Java Champion · morling.dev · 🚴
Having multiple copies of your data, specifically laid out for different access patterns, is completely fine. Desirable even. Just make sure to have one canonical source of truth and drive updates to all the copies from there.
November 7, 2025 at 9:33 PM
Looks like that post is not going down too well over on the 🍊 site, LOL. Genuinely curious why someone would flag it, but I guess we'll never know.
November 3, 2025 at 7:39 PM
📝 Blogged: "'You Don't Need Kafka, Just Use Postgres' Considered Harmful"

In which I'm arguing that both Postgres and Kafka are great tools for their respective purposes. But don't create your custom implementation of one on top of the other.

👉 www.morling.dev/blog/you-don...
November 3, 2025 at 10:20 AM
I'm certainly not at the forefront of the AI craze, but this take is hilarious. Like, has this guy ever bought a computer or a TV? A plane ticket? Solar panels, or an electric car?
October 17, 2025 at 5:11 PM
"Beyond Indexes: How Open Table Formats Optimize Query Performance"

Enjoyed reading this post by @vanlightly.bsky.social, explaining why secondary indexes, as known from OLTP systems, don't make sense for data lakehouse systems like Apache Iceberg.

👉 jack-vanlightly.com/blog/2025/10...
October 13, 2025 at 12:33 PM
🏃 Tired but happy after finishing my longest race (12.3 km) so far, the Köhlbrandbrückenlauf. One of the few occasions throughout the year where you can cross the bridge over Hamburg's port without sitting in a car. What an amazing event!
October 3, 2025 at 1:55 PM
:) To be fair, they discuss security briefly in the paper. Not sure though what to think about a central repository of decoders if the goal is to make documents self-descriptive.
October 2, 2025 at 6:22 AM
Great day out at the 10K Alstertallauf today. As always, started with a higher pace than planned. But then, kinda to my own surprise, I could actually keep it up. Not too fast in absolute terms, but faster than yesterday's me 😊.
September 28, 2025 at 5:30 PM
📝 Blogged: "Let's Take a Look at... Lower Java Tail Latencies With ZGC"

As #Java 25 got released earlier this week, I took the ZGC garbage collector for a spin, exploring how it lives up to its promise of sub-millisecond GC pause times.

👉 www.morling.dev/blog/lower-j...
September 17, 2025 at 3:17 PM
"Peeking Inside the SQL Server Transaction Log"

Enjoyed reading this post by Vojtech Juranek from the @debezium.bsky.social team, exploring the SQL Server TX log format.

A potential alternative to polling SQL Server's CDC tables on the horizon?

👉 lnkd.in/eyKFXqZw
debezium.io/blog/2025/09...
September 11, 2025 at 8:18 AM
Don't be like Kenny--Java 25 is around the corner!
September 5, 2025 at 3:59 PM
Now up on stage at @javazone.bsky.social: @josepaumard.bsky.social on Loom, Amber and other goodness in recent Java versions. 21 and 25 named by him "current and next LTS"--take that, @nipafx.dev ;) To be fair, that Non LTS slide followed. I'm confused 😇.
September 3, 2025 at 12:26 PM
Arriving on-site for @javazone.bsky.social ! So glad to be back for another year, this time with a lightning talk on the pitfalls around #Postgres replication slots (tomorrow, 9:40 am) and a breakout session about the the outbox pattern (Thursday, 10:20 am).

👉 2025.javazone.no/en/program
September 2, 2025 at 7:57 PM
"When not to use Tokio"--Loving this section in the docs of Tokio (tokio.rs/tokio/tutorial), a runtime for building async applications in Rust. There are no silver bullets, and it's vital to understand when a given library or tool adds value, and when it does not.
August 5, 2025 at 8:22 PM
📝 Blogged: "Postgres Replication Slots: Confirmed Flush LSN vs. Restart LSN"

Exploring the difference between these two LSNs of PG replication slots, which is a common source for confusion.

👉 www.morling.dev/blog/postgre...
August 5, 2025 at 12:33 PM
😱 You see this distribution of response times from running 500 requests/sec against some microservice for 120 sec. What do you do to in order to investigate what's going on?
July 25, 2025 at 2:29 PM
📝 Blogged: "Converting Future to CompletableFuture With Java Virtual Threads"

Quick write-up on a very nice use case for #Java virtual threads: bridging the gap between legacy Future-based APIs and modern CompletableFuture composition patterns.

👉 www.morling.dev/blog/future-...
July 17, 2025 at 12:39 PM
Yum, they look great! Tomatoes here are starting to look good too, pepper will still take a bit.
July 13, 2025 at 1:47 PM
Wow, TIL that LISTEN/NOTIFY in Postgres requires a global lock when committing transactions issuing a NOTIFY. Consider listening to the WAL via logical replication as an alternative with no impact on the write path.

www.recall.ai/blog/postgre...
July 11, 2025 at 7:09 AM
📝 "Mastering Postgres Replication Slots: Preventing WAL Bloat and Other Production Issues"

Sharing some best practices for managing #Postgres replication slots, as for instance used by the #Debezium connector for Postgres, in my latest blog post 🥳.

👉 www.morling.dev/blog/masteri...
July 8, 2025 at 1:24 PM
🥳 Woot, woot, no better way to start the day: just got the acceptance note for @javazone.bsky.social '25! One of my absolute favorite conferences, can't wait to be back this year, with my talk "Ins and Outs of the Outbox Pattern"!

🗓️ Sept 3-4, 2025
📌 NOVA Spektrum, Lillestrøm 🇳🇴
👉 lnkd.in/ejf7J29m
June 26, 2025 at 7:50 AM
☀️ Perfect weather for a true highlight of the cycling season: the "Fahrradsternfahrt", including the rare opportunity to cross the Köhlbrand bridge in the harbour of Hamburg not sitting in a car, together with thousands of other cyclists 🚴.
June 22, 2025 at 1:03 PM
📝 "How I Use (and Don't Use) AI"

AI can be a great tool, but I think we should be transparent about the usage. So I have added a note to my site about how I am working with AI (as a copy editor) when writing for my blog, and how I'm not (for original writing).

👉 www.morling.dev/ai/
June 19, 2025 at 1:38 PM
ZOMG, #1 on Hacker News. 🍊 folks, be gentle with me, LOL.

www.morling.dev/blog/this-ai...
June 18, 2025 at 4:58 PM
📝 Blogged: "This AI Agent Should Have Been a SQL Query"

Inspired by the title of a conference talk from a few years back, I ran a thought experiment: can we build agentic systems in the form of (streaming) SQL queries, running on top of #ApacheFlink?

👉 www.morling.dev/blog/this-ai...
June 18, 2025 at 3:28 PM