Hi Kostya,
I actually did not think about this too much when write the code.
My gut feeling is that the benefit of using a thread pool is that you have
jobs come and go and want to safe your own resource management overhead.
In Mirror maker, there are only fixed number of mirror maker thread and
I've skimmed through a source code of Mirror Maker and I see that it relies
on raw threads
https://github.com/apache/kafka/blob/7df39e0394a6fd2f26e8f12768ebf7fecd56e3da/core/src/main/scala/kafka/tools/MirrorMaker.scala#L285-L287,
as opposed to Runnable + Thread pool combination. While former