DigiNews

Tech Watch by Johan Denoyer

← Back to articles

"The .join() That Should Be a Bug"

Quality: 8/10 Relevance: 9/10

Summary

Kronotop explains a two-model approach to handling thousands of connections by keeping network I/O non-blocking on a small Netty-based connection layer while offloading blocking I/O to virtual threads. The post highlights how CompletableFuture.supplyAsync().thenAcceptAsync() enables waiting on FoundationDB and disk without tying up real threads, and why the .join() on a virtual thread is intentional, not a bug. It includes code examples and discusses transaction scope, error handling, and how this architecture achieves scalability.

🚀 Service construit par Johan Denoyer