You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@impala.apache.org by "Tim Armstrong (JIRA)" <ji...@apache.org> on 2018/04/05 21:55:00 UTC
[jira] [Created] (IMPALA-6816) Statestore spends a lot of time in
GetMinSubscriberTopicVersion()
Tim Armstrong created IMPALA-6816:
-------------------------------------
Summary: Statestore spends a lot of time in GetMinSubscriberTopicVersion()
Key: IMPALA-6816
URL: https://issues.apache.org/jira/browse/IMPALA-6816
Project: IMPALA
Issue Type: Bug
Components: Distributed Exec
Affects Versions: Impala 3.0, Impala 2.12.0
Reporter: Tim Armstrong
Assignee: Tim Armstrong
{noformat}
Samples: 13K of event 'cycles', Event count (approx.): 1200870513
20.23% statestored impalad [.] impala::Statestore::GetMinSubscriberTopicVersion(std::string const&, std::string*)
7.68% statestored [kernel.kallsyms] [k] find_busiest_group
3.46% statestored impalad [.] impala::Statestore::Subscriber::LastTopicVersionProcessed(std::string const&) const
3.26% statestored libc-2.12.so [.] __memcmp_sse4_1
1.41% statestored [kernel.kallsyms] [k] find_next_bit
1.40% statestored [kernel.kallsyms] [k] cpumask_next_and
1.21% statestored libpthread-2.12.so [.] pthread_mutex_lock
1.04% statestored libc-2.12.so [.] memcpy
1.01% statestored [kernel.kallsyms] [k] _spin_lock
0.98% statestored impalad [.] 0x000000000088f903
0.93% statestored impalad [.] 0x000000000088f8f5
0.91% statestored impalad [.] 0x000000000088f8ea
0.85% statestored [kernel.kallsyms] [k] ixgbe_xmit_frame_ring
0.77% statestored impalad [.] 0x000000000088f8e3
0.75% statestored impalad [.] 0x000000000088f900
0.75% statestored impalad [.] impala::Statestore::IsPrioritizedTopic(std::string const&)
0.73% statestored impalad [.] 0x000000000088f8fa
0.72% statestored impalad [.] operator new[](unsigned long)
0.68% statestored [kernel.kallsyms] [k] tcp_recvmsg
0.67% statestored impalad [.] 0x000000000088f8fd
0.66% statestored impalad [.] impala::Statestore::Topic::BuildDelta(std::string const&, long, impala::TTopicDelta*)
0.61% statestored [kernel.kallsyms] [k] thread_return
0.60% statestored impalad [.] 0x000000000088f8f2
0.60% statestored libstdc++.so.6 [.] std::string::compare(std::string const&) const
0.59% statestored impalad [.] 0x000000000088f8e6
0.56% statestored impalad [.] 0x000000000088f8ee
0.56% statestored libcrypto.so.1.0.1e [.] aesni_encrypt
0.55% statestored impalad [.] 0x000000000088f8e0
0.55% statestored [kernel.kallsyms] [k] tcp_transmit_skb
0.53% statestored [kernel.kallsyms] [k] fget_light
0.51% statestored impalad [.] std::_Rb_tree<void*, std::pair<void* const, std::shared_ptr<impala::ThriftClientImpl> >, std::_Select1st<std::pair<void* const, std::shared_ptr<impala::ThriftCl
0.50% statestored impalad [.] apache::thrift::transport::TVirtualTransport<apache::thrift::transport::TBufferedTransport, apache::thrift::transport::TBufferBase>::readAll_virt(unsigned char*
0.50% statestored impalad [.] impala::Statestore::DoSubscriberUpdate(impala::Statestore::UpdateKind, int, impala::Statestore::ScheduledSubscriberUpdate const&)
0.49% statestored libssl.so.1.0.1e [.] tls1_enc
0.48% statestored libssl.so.1.0.1e [.] ssl3_read_bytes
{noformat}
We are spending most of our time computing this for non-catalog topics, where it's not even used.
There are a couple of ways we could fix this that I can think of:
* Avoid including this information for topics where we're not interested in it
* Cache or precompute the value somehow to avoid iterating over all subscribers every time
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)