Hi all,

We are using kudu 1.15.0, and impala 3.4.0-RELEASE

In our impala select query, we are scanning *10 kudu partitions/tablets*
per impala daemon host in *6 node cluster* with *16 cores* per machine (
*c5.4xlarge*).

The kudu threads (around 9 threads) are working in parallel to do the
scanning as in given in fig_2. But, in Impala *only one reactor thread (rpc
reactor-227 thread)* is working and it’s at* 99.99%* which creates a
bottleneck(fig_1). There are other reactor threads at idle. Please note
that the query results are not cached to disk.

Here are our questions.

1.   Why only one rpc reactor thread is working and creating a bottleneck
for multi-tablets scan query in an impala daemon host and why is it always *rpc
reactor-227*? (We also suspect that this could be the rpc reactor thread
that runs inside kudu client inside the impala daemon)

2.   How can we solve this issue for other rpc reactor threads to work as
well?

This is creating a huge bottleneck in the query scanning. Could there be
other reasons why this behavior occurs?

Appreciate your help!

gstack 22788
Thread 1 (process 22788):
#0 0x00007f15a5ebeaeb in recv () from /usr/lib64/libpthread.so.0
#1 0x00007f15a42763b4 in kudu::Socket::Recv (this=0xd5588f0, buf=0x17324004
"\f\b\325\300\b\020", amt=1185345, nread=0x7f14c81d9940) at
/mnt/source/kudu/kudu-4ed0dbbd1/src/kudu/util/net/socket.cc:517
#2 0x00007f15a419172e in kudu::rpc::InboundTransfer::ReceiveBuffer
(this=0xd507840, socket=...) at
/mnt/source/kudu/kudu-4ed0dbbd1/src/kudu/rpc/transfer.cc:144
#3 0x00007f15a4182fd0 in ReadHandler (revents=<optimized out>, watcher=...,
this=0xdb56000) at
/mnt/source/kudu/kudu-4ed0dbbd1/src/kudu/rpc/connection.cc:653
#4 ev::base<ev_io, ev::io>::method_thunk<kudu::rpc::Connection,
&kudu::rpc::Connection::ReadHandler> (loop=<optimized out>, w=<optimized
out>, revents=<optimized out>) at
/mnt/source/kudu/kudu-4ed0dbbd1/thirdparty/installed/uninstrumented/include/ev++.h:479
#5 0x00007f15a43c1f1b in ev_invoke_pending (loop=0xd552480) at
/mnt/source/kudu/kudu-4ed0dbbd1/thirdparty/src/libev-4.20/ev.c:3155
#6 0x00007f15a41611dd in kudu::rpc::ReactorThread::InvokePendingCb
(loop=0xd552480) at
/mnt/source/kudu/kudu-4ed0dbbd1/src/kudu/rpc/reactor.cc:196
#7 0x00007f15a43c55f4 in ev_run (loop=0xd552480, flags=<optimized out>) at
/mnt/source/kudu/kudu-4ed0dbbd1/thirdparty/src/libev-4.20/ev.c:3555
#8 0x00007f15a41617ab in run (flags=0, this=0x9c03088) at
/mnt/source/kudu/kudu-4ed0dbbd1/thirdparty/installed/uninstrumented/include/ev++.h:211
#9 kudu::rpc::ReactorThread::RunThread (this=0x9c03080) at
/mnt/source/kudu/kudu-4ed0dbbd1/src/kudu/rpc/reactor.cc:497
#10 0x00007f15a429df06 in operator() (this=0x9ffdb28) at
/mnt/source/kudu/kudu-4ed0dbbd1/thirdparty/installed/uninstrumented/include/boost/function/function_template.hpp:771
#11 kudu::Thread::SuperviseThread (arg=0x9ffdb00) at
/mnt/source/kudu/kudu-4ed0dbbd1/src/kudu/util/thread.cc:675
#12 0x00007f15a5eb7ea5 in start_thread () from /usr/lib64/libpthread.so.0
#13 0x00007f15a252b9fd in clone () from /usr/lib64/libc.so.6



Thank you



Best Regards,
*Sumudu Madushanka*

Reply via email to