It is not thread-safe, though, so it doesn't share a connection between
different threads (or, rather, the ConnectionPool itself is not
supposed to be shared between threads).

I think, this can be solved by creating in TLS own pool for every thread.