Virtual Thread Migration

Migrating an existing service to virtual threads as a staged programme rather than a flag: inventorying what each thread pool was implicitly limiting, auditing for pinning, file I/O and ThreadLocal caches, declaring the replacement limits before the flip, canarying one workload at a time, re-sizing the connection pool, and the rollback criteria. Use when a team plans to enable virtual threads service-wide, when a single flag is about to be flipped in production, when a migration made latency worse, when the database or a downstream started failing after adoption, when newSingleThreadExecutor is about to be replaced and it was providing ordering, when log correlation or metrics broke after the change, or when a migration is proposed for a CPU-bound service. Not the sizing arithmetic (thread-sizing-and-virtual-threads), continuation and pinning internals (virtual-threads-internals), or choosing between reactive and thread-per-request, and the framework flags for it (reactive-and-virtual-thread-selection).

robsonkades 7450965 4 files · 28.3 KB Updated

File contents

robsonkades/agent-skills/tree/main/skills/virtual-thread-migration commit 74509650a8

Frequently asked questions

npx skillmds@latest add robsonkades/virtual-thread-migration