Thanks Etienne!

The issue was that I had a shared vibe ConnectionPool handing over TCP sockets to every worker thread. This doesn't seem to work with vibe's ConnectionPool, so I'm now creating a ConnectionPool per thread, which is sort of wasteful especially when running on a machine with many cores, but works.

Cheers,
-M