Yeah, same in Rust. The executing thread is not blocked, but the execution flow of the async method is. Similar to virtual threads in Java.
06.08.2025 11:40 — 👍 0 🔁 0 💬 1 📌 0@gunnarmorling.dev.bsky.social
Technologist @ Confluent · Ex-lead of Debezium · Spec lead of Bean Validation 2.0 · Creator of JfrUnit, kcctl and MapStruct · Java Champion · morling.dev · 🚴
Yeah, same in Rust. The executing thread is not blocked, but the execution flow of the async method is. Similar to virtual threads in Java.
06.08.2025 11:40 — 👍 0 🔁 0 💬 1 📌 0Maybe it's me being dense, but wouldn't Rust's `await` be more aptly named `yield`? With my Java hat on, await makes it sound like this is blocking (like Future::get()), whereas it's exactly not that.
06.08.2025 08:39 — 👍 2 🔁 0 💬 2 📌 0IMO we need three major axes for talking about open software:
- Open source: anyone can use, modify, redistribute the source code
- Open contribution: anyone can help make it better
- Open governance: anyone can wield power over what happens to it
I was just re-listening to the Oxide & Friends "Crates We Love" episode where @elizas.website correctly promoted writing "when to use" / "when not to use" docs for your crates!
oxide-and-friends.transistor.fm/episodes/cra...
"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.
05.08.2025 20:22 — 👍 28 🔁 3 💬 1 📌 1Oh, wow, thanks a lot, Phil! So great to hear this stuff is useful to folks 🙏.
05.08.2025 13:41 — 👍 3 🔁 0 💬 0 📌 0Gunnar writes really accessible posts on postgres logical replication (from the CDC angle). It only just clicked for me I should go back and read all his posts on the subject since I work on a logical replication product and I could use the primer.
www.morling.dev/blog/postgre...
📝 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...
Current status: writing a quick side blog post before writing a quick side blog post before getting back to the one I actually intended to write. Let's see how many frames this stack fits 🤓.
04.08.2025 11:44 — 👍 16 🔁 0 💬 1 📌 0Haha, yeah, indeed. Are you gonna be at JavaZone, btw.?
04.08.2025 08:01 — 👍 0 🔁 0 💬 0 📌 0I'm really tempted to do something around CDC in Rust. I don't think it's (only) a library problem, though. It needs to be able to scale out to multiple nodes (in particular for snapshots), which moves it into the space of distributed systems rather than libraries, at least beyond a certain scale.
02.08.2025 17:32 — 👍 4 🔁 0 💬 1 📌 0Yeah, the many changes are definitely holding it back. Maven is much easier to handle in this regard.
02.08.2025 11:30 — 👍 1 🔁 0 💬 1 📌 0Yepp. Interestingly, I'm seeing less outliers when not using --no-tui, but in either case tail latencies beyond 99.9 seem not trustworthy.
01.08.2025 07:28 — 👍 0 🔁 0 💬 1 📌 0How would you trigger the load (at a given rate)?
31.07.2025 20:23 — 👍 0 🔁 0 💬 1 📌 0Haha, yeah, I was hoping to avoid doing that :) Probably gonna look into hyperfoil.io now. It's more sophisticated than what I need; I really just want to fire requests at a given rate, reliably, but all the "simple" tools promising to do that have some quirks, unfortunately.
31.07.2025 20:19 — 👍 4 🔁 0 💬 0 📌 0Yeah, I was running into connection limits, which you can sidestep by using keep-alive or HTTP2 (if that fits the spec for your test). But I'm seeing some random noise with oha, which make tail latencies not very trustworthy.
31.07.2025 20:16 — 👍 0 🔁 0 💬 1 📌 0Kinda depressed by the state of HTTP load testing tools right now :/
hey: unmaintained, no good reporting of tail latencies.
oha: looked nice, but it seems to create noise on the client side. vegeta: incorrect tail latencies in Histogram output, can't get it to scale beyond 5K qps for some reason.
@stalep.bsky.social, in case you have a moment, posted a question on Hyperfoil here: github.com/Hyperfoil/Hy... 🙏.
29.07.2025 20:36 — 👍 0 🔁 0 💬 2 📌 0👀
29.07.2025 20:15 — 👍 2 🔁 0 💬 0 📌 0Question for JFR experts around: is there a tool for extracting parts from a recording file based on timestamps? `jfr disassemble` works based on size / number of chunks, but I'd rather want to be able to say "extract the last 5 minutes", or "extract between 1:30 and 5:00 into the recording", etc.
28.07.2025 15:25 — 👍 0 🔁 0 💬 1 📌 0LOL, yeah, feeling a bit embarrassed that I fell for it, haha.
26.07.2025 19:39 — 👍 1 🔁 0 💬 0 📌 0Ha, yeah, turns out it was on the load gen side indeed. It was running out of connections. Using HTTP2 mitigates it (via pipelining), which I got reminded of reading the docs of... Hyperfoil ;) Is the project alive? Saw the last post is from a few years back.
26.07.2025 10:54 — 👍 0 🔁 0 💬 3 📌 0OS.
25.07.2025 17:58 — 👍 0 🔁 0 💬 0 📌 0It runs queries against a database. I suspected the connection pool, but the same behavior is exposed when just returning some dummy data from the service itself. Starting to wonder whether it's an artifact of the load generator (oha) and/or running this on macOS. Will try on a Linux box.
25.07.2025 15:18 — 👍 1 🔁 0 💬 1 📌 0GC and memory look good as per JFR.
25.07.2025 15:17 — 👍 1 🔁 0 💬 0 📌 0It's just a single process, not running in a container. The pattern occurs always around the same time (20 sec in) after starting the load test.
25.07.2025 14:51 — 👍 1 🔁 0 💬 1 📌 0😱 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?
25.07.2025 14:29 — 👍 5 🔁 0 💬 11 📌 0New data oriented file format just dropped.
FastLanes, "like Parquet, but with 40% better compression and 40× faster decoding". 👀
Seems it can exploit correlations between columns and have fully SIMD friendly encodings to help with vectorization.
github.com/cwida/FastLa...
I've been a bit out of the loop on JPA/Hibernate: is there a way nowadays to model a uni-directional OneToMany relationship which doesn't do an update of the join column when inserting both sides of the relationship?
24.07.2025 10:17 — 👍 3 🔁 1 💬 0 📌 0✍️ Blogged: Interesting Links - July 2025
👉 Lots of Iceberg this month, plus Kafka, Flink, several interesting papers, and 9x examples of data in action at companies including Peloton, Cloudflare, Datadog, and Stifel 📚
rmoff.net/2025/07/18/i...