Thank you for your reply. I looked around thread dumps.
My Client has 256 connections. but only one connection state is RUNNABLE. others state are TIMED_WAITING (parking). Best regards, Minwoo Kang ________________________________________ 보낸 사람: Josh Elser <els...@apache.org> 보낸 날짜: 2019년 2월 27일 수요일 01:32 받는 사람: user@hbase.apache.org 제목: Re: HBase client spent most time in ThreadPoolExecutor Minwoo, You have found an idle thread in the threadpool that is waiting for work. This is not the source of your slowness. The thread is polling the internal queue of work, waiting for the next "unit" of something to do. You should include threads like these from your analysis. On 2/26/19 8:32 AM, Kang Minwoo wrote: > Hello Users, > > I have a question. > > My client complains to me, HBase scan spent too much time. > So I started to debug. > > I profiled the HBase Client Application using hprof. > The App spent the most time in below stack trace. > > ---- > java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:Unknown > line) > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:Unknown > line) > java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:Unknown > line) > java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:Unknown > line) > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:Unknown > line) > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:Unknown > line) > java.lang.Thread.run(Thread.java:Unknown line) > --- > > --- > org.apache.hadoop.hbase.ipc.RpcClientImpl$Connection.waitForWork(RpcClientImpl.java:Unknown > line) > org.apache.hadoop.hbase.ipc.RpcClientImpl$Connection.run(RpcClientImpl.java:Unknown > line) > --- > > they spent 92% of total time. > > I don't understand why they spent a lot of time. > Do you have any idea? > > Best regards, > Minwoo Kang >