When gRPC Was Innocent
How a corruption bug looked like a gRPC problem, but was actually caused by unordered async writes during client-side file persistence.
Get to know the people behind the articles.
Software Developer
Software Developer specializing in Java backend development, Dockerized processes, and Linux-based environments. I enjoy designing reliable systems, improving performance, and turning complex workflows into maintainable solutions.
How a corruption bug looked like a gRPC problem, but was actually caused by unordered async writes during client-side file persistence.
Why REST APIs are not always the best choice for heavy scheduled workloads, and when batch processing is the better architectural fit.
Software Engineer
Software engineer with experience in API design and implementation, and high-performance event-driven architectures. Background in banking and logistics environments, with a focus on Domain-Driven Design, distributed observability, and AI-assisted development.
You disabled open-in-view. Now what? @EntityGraph, @Transactional, batch_fetch_size, Split Queries, and DTO Projection — measured on real PostgreSQL.
How Spring Boot's default open-in-view setting caused a silent deadlock with virtual threads and TransactionTemplate.
You already know you need a broker. Now the question is which one — and the answer changes how you design your entire event system.
Your server shouldn't do everything at the same time. Understanding the real problem a message broker solves.