Hi, My app writes 100K rows per seconds to a C* cluster (including 30 nodes and using version 3.11.2). There are 20 threads, each writing 10K (list size in below code is 100K) statements using async API: for (Statement s:list) { ResultSetFuture future = session.executeAsync(s); tasks.add(future); if (tasks.size() < 10000) continue; for (ResultSetFuture t:tasks) t.getUninterruptibly(10000, TimeUnit.MILLISECONDS); tasks.clear(); } if (tasks.size() != 0) { for (ResultSetFuture t:tasks) t.getUninterruptibly(10000, TimeUnit.MILLISECONDS); } CPU usage for my loader application is > 80% on a Xeon 20 core, using sample on jvisualvm find out these at top by percentage of all CPU time: io.netty.channel.epoll.Native.epollWait0 40% shade.com.datastax.spark.connecto.google.common.util.concurrent.AbstractFuture$Sync.get() 10% com.datastax.driver.core.RequestHanlder.init 10% It seems like that, it checks for finishing all tasks every some nano seconds. Is there any workaround to decrease CPU usage of my application, which currently is the bottleneck? Sent using Zoho Mail