Switch language한국어
Back to the list

The Moment the Runtime Became Your Enemy

TL;DR AI

Key summary

2 min read
  1. A Spring Boot and Lucene log indexing service on OpenJDK 21 hit severe latency from JVM safepoint stalls under heavy load.

  2. Adding heap, switching to ZGC, changing JVM distributions, and reducing threads did not eliminate the bottleneck.

  3. The team rewrote the engine in Rust with Tokio and a new indexing/parsing design, restoring low, predictable latency.

  4. On the same hardware, p99 latency dropped to 89 ms.

  5. The case shows JVM safepoints can become the main latency source even when GC is not the issue.

Read the original