How we switched to Java 21 virtual threads and got a deadlock in TPC-C for PostgreSQL
Dining Java 21 philosophers have a problemIn our previous post about TPC-C, we discussed some drawbacks in the original TPC-C implementation from the Benchbase project (which is great nevertheless). One of the drawbacks was the concurrency limit due to spawning too many physical threads, and we solved it by switching to Java 21 virtual threads. Later we discovered that, as usual, there is no free lunch. In this post, we present a case study on how we encountered a deadlock with virtual threads i...
Read more at blog.ydb.tech