RSS.Social

Gunnar Morling

follow: @[email protected]

Posts

Hardwood Reaches Beta: S3, Predicate Push-Down, CLI, and More

Hardwood: A New Parser for Apache Parquet

You Gotta Push If You Wanna Pull

On Idempotency Keys

Building a Durable Execution Engine With SQLite

"You Don't Need Kafka, Just Use Postgres" Considered Harmful

Let's Take a Look at... Lower Java Tail Latencies With ZGC

Postgres Replication Slots: Confirmed Flush LSN vs. Restart LSN

Converting Future to CompletableFuture With Java Virtual Threads

Mastering Postgres Replication Slots: Preventing WAL Bloat and Other Production Issues

How I Use (and Don't Use) AI

This AI Agent Should Have Been a SQL Query

Backfilling Postgres TOAST Columns in Debezium Data Change Events

"Streaming vs. Batch" Is a Wrong Dichotomy, and I Think It's Confusing

About Me

What If We Could Rebuild Kafka From Scratch?

A Deep Dive Into Ingesting Debezium Events From Kafka With Flink SQL

Building a Native Binary for Apache Kafka on macOS

Let's Take a Look at... JEP 483: Ahead-of-Time Class Loading & Linking!

The Synchrony Budget

Let's Take a Look at... KIP-932: Queues for Kafka!

Get Running with Apache Flink on Kubernetes, part 2 of 2

Get Running with Apache Flink on Kubernetes, part 1 of 2

Failover Replication Slots with Postgres 17

Thoughts On Moving Debezium to the Commonhaus Foundation

Building OpenJDK From Source On macOS

Conferences

Revisiting the Outbox Pattern

CDC Is a Feature Not a Product

How I Am Setting Up VMs On Hetzner Cloud

Leader Election With S3 Conditional Writes

Shell Spell: Extracting and Propagating Multiple Values With jq

A Zipping Gatherer

A Taxonomy Of Data Change Events

Podcasts and Interviews

Last Updated Columns With Postgres

Filtering Process Output With tee

1BRC—The Results Are In!

Projects

The One Billion Row Challenge

Logical Replication From Postgres 16 Stand-By Servers—Debezium and Failover Slots

Using Stand-by Servers for Postgres Logical Replication

Tracking Java Native Memory With JDK Flight Recorder

Getting Started With PyFlink on Kubernetes

"Change Data Capture Breaks Encapsulation". Does it, though?

Can Debezium Lose Events?

CDC Use Cases: 7 Ways to Put CDC to Work

Finding Java Thread Leaks With JDK Flight Recorder and a Bit Of SQL

Getting Started With Java Development in 2023 — An Opinionated Guide

Oh... This is Prod?!

Is your Blocking Queue... Blocking?

Maven, What Are You Waiting For?!

Postgres 15: Logical Decoding Row Filters With Debezium

The Insatiable Postgres Replication Slot

Running a Quarkus Native Application on Render

Why I Joined Decodable

An Ideation for Kubernetes-native Kafka Connect

Testing Kafka Connectors

Ten Tips to Make Conference Talks Suck Less

Loom and Thread Fairness

Running JDK Mission Control on Apple M1

The Code Review Pyramid

The JDK Flight Recorder File Format

What's in a Good Error Message?

Announcing the First Release of kcctl

Introducing the OSS Quickstart Archetype

O Kafka, Where Art Thou?

Refining The Return Type Of Java Methods Without Breaking Backwards-Compatibility

JDK Flight Recorder Events in GraalVM Native Binaries

Debezium and Friends – Conference Talks 2021

What's on My Desk?

Executable JavaDoc Code Snippets

Resource Bundle Look-ups in Modular Java Applications

Introducing JfrUnit 1.0.0.Alpha1

Three Plus Some Lovely Kafka Trends

Exploring ZooKeeper-less Kafka

The Anatomy of ct.sym — How javac Ensures Backwards Compatibility

FizzBuzz – SIMD Style!

Talking to Postgres Through Java 16 Unix-Domain Socket Channels

jlink's Missing Link: API Signature Validation

ByteBuffer and the Dreaded NoSuchMethodError

Towards Continuous Performance Regression Testing

Smaller, Faster-starting Container Images With jlink and AppCDS

Quarkus and Testcontainers

Class Unloading in Layered Java Applications

Building hsdis for OpenJDK 15

Introducing JmFrX: A Bridge From JMX to JDK Flight Recorder

How I Built a Serverless Search for My Blog

Building Class Data Sharing Archives with Apache Maven

Single Message Transformations - The Swiss Army Knife of Kafka Connect

The Emitter Parameter Pattern for Flexible SPI Contracts

Plug-in Architectures With Layrry and the Java Module System

Introducing Layrry: A Launcher and API for Modularized Java Applications

Reworking Git Branches with git filter-branch

Monitoring REST APIs with Custom JDK Flight Recorder Events

Enforcing Java Record Invariants With Bean Validation

Using Java 13 Text Blocks (Only) for Your Tests

Quarkus Qute – A Test Ride

Automatically Deploying a Hugo Website via GitHub Actions

Time for a New Blog