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 2020/01/31 07:15:00 UTC
[jira] [Created] (IMPALA-9349) output_unmatched_batch_ holds onto
buffers for too long
Tim Armstrong created IMPALA-9349:
-------------------------------------
Summary: output_unmatched_batch_ holds onto buffers for too long
Key: IMPALA-9349
URL: https://issues.apache.org/jira/browse/IMPALA-9349
Project: IMPALA
Issue Type: Bug
Components: Backend
Reporter: Tim Armstrong
Assignee: Tim Armstrong
IMPALA-4224 made some of the reservation management in PHJ more explicit, which revealed a minor bug. This query from TestSpilling triggers the bug, but it has no symptoms currently because there is at least a surplus 256k of reservation set aside for max_row_size.
{noformat}
# spilled partition with 0 probe rows, RIGHT OUTER JOIN
set debug_action="-1:OPEN:SET_DENY_RESERVATION_PROBABILITY@1.0";
select straight_join count(*)
from
supplier right outer join lineitem on s_suppkey = l_suppkey
where s_acctbal > 0 and s_acctbal < 10;
{noformat}
However, a slight tweak triggers a DCHECK
{noformat}
[localhost:21000] tpch_parquet> use tpch_parquet; set default_spillable_buffer_size=256k; set max_row_size=256k; set debug_action=-1:OPEN:SET_DENY_RESERVATION_PROBABILITY@1.0;select straight_join count(*)
from
supplier right outer join lineitem on s_suppkey = l_suppkey
where s_acctbal > 0 and s_acctbal < 10;
Query: use tpch_parquet
DEFAULT_SPILLABLE_BUFFER_SIZE set to 256k
MAX_ROW_SIZE set to 256k
DEBUG_ACTION set to -1:OPEN:SET_DENY_RESERVATION_PROBABILITY@1.0
Query: select straight_join count(*)
from
supplier right outer join lineitem on s_suppkey = l_suppkey
where s_acctbal > 0 and s_acctbal < 10
Query submitted at: 2020-01-30 23:12:11 (Coordinator: http://tarmstrong-box:25000)
Query progress can be monitored at: http://tarmstrong-box:25000/query_plan?query_id=8e445d7018e08002:6e35218800000000
ERROR: Failed due to unreachable impalad(s): tarmstrong-box:22002
{noformat}
F0130 23:12:14.652458 2727 partitioned-hash-join-builder.cc:364] 8e445d7018e08002:6e35218800000005] Check failed: got_buffer Accounted in min reservation<BufferPool::Client> 0xb96d870 internal state: {<BufferPool::Client> 0xf8843a0 name: HASH_JOIN_NODE id=2 ptr=0xb96d700 write_status: buffers allocated 262144 num_pages: 166 pinned_bytes: 262144 dirty_unpinned_bytes: 786432 in_flight_write_bytes: 524288 reservation: {<ReservationTracker>: reservation_limit 9223372036854775807 reservation 4456448 used_reservation 524288 child_reservations 3932160 parent:
<ReservationTracker>: reservation_limit 9223372036854775807 reservation 4456448 used_reservation 0 child_reservations 4456448 parent:
<ReservationTracker>: reservation_limit 6279187114 reservation 8650752 used_reservation 0 child_reservations 8650752 parent:
<ReservationTracker>: reservation_limit 6671630336 reservation 8667136 used_reservation 0 child_reservations 8667136 parent:
NULL}
1 pinned pages: <BufferPool::Page> 0x12ed9ea0 len: 262144 pin_count: 1 buf: <BufferPool::BufferHandle> 0x12ed9f18 client: 0xb96d870/0xf8843a0 data: 0x17380000 len: 262144
3 dirty unpinned pages: <BufferPool::Page> 0x1319c500 len: 262144 pin_count: 0 buf: <BufferPool::BufferHandle> 0x1319c578 client: 0xb96d870/0xf8843a0 data: 0x1554a000 len: 262144
<BufferPool::Page> 0x1319dae0 len: 262144 pin_count: 0 buf: <BufferPool::BufferHandle> 0x1319db58 client: 0xb96d870/0xf8843a0 data: 0x127fc000 len: 262144
<BufferPool::Page> 0x1319e4e0 len: 262144 pin_count: 0 buf: <BufferPool::BufferHandle> 0x1319e558 client: 0xb96d870/0xf8843a0 data: 0x16f4a000 len: 262144
2 in flight write pages: <BufferPool::Page> 0x12ebe1c0 len: 262144 pin_count: 0 buf: <BufferPool::BufferHandle> 0x12ebe238 client: 0xb96d870/0xf8843a0 data: 0x16740000 len: 262144
<BufferPool::Page> 0x1319d4a0 len: 262144 pin_count: 0 buf: <BufferPool::BufferHandle> 0x1319d518 client: 0xb96d870/0xf8843a0 data: 0x16340000 len: 262144
}
*** Check failure stack trace: ***
@ 0x4dfceac google::LogMessage::Fail()
@ 0x4dfe751 google::LogMessage::SendToLog()
@ 0x4dfc886 google::LogMessage::Flush()
@ 0x4dffe4d google::LogMessageFatal::~LogMessageFatal()
@ 0x2753df6 impala::PhjBuilder::CreateAndPreparePartition()
@ 0x2754036 impala::PhjBuilder::CreateHashPartitions()
@ 0x2758209 impala::PhjBuilder::RepartitionBuildInput()
@ 0x2757953 impala::PhjBuilder::BeginSpilledProbe()
@ 0x2688643 impala::PartitionedHashJoinNode::BeginSpilledProbe()
@ 0x268aff5 impala::PartitionedHashJoinNode::GetNext()
@ 0x276b436 impala::AggregationNode::Open()
@ 0x2159d7f impala::FragmentInstanceState::Open()
@ 0x2156937 impala::FragmentInstanceState::Exec()
@ 0x216aa7e impala::QueryState::ExecFInstance()
@ 0x2168d9d _ZZN6impala10QueryState15StartFInstancesEvENKUlvE_clEv
@ 0x216c666 _ZN5boost6detail8function26void_function_obj_invoker0IZN6impala10QueryState15StartFInstancesEvEUlvE_vE6invokeERNS1_15function_bufferE
@ 0x1f60b7b boost::function0<>::operator()()
@ 0x250f288 impala::Thread::SuperviseThread()
@ 0x251760c boost::_bi::list5<>::operator()<>()
@ 0x2517530 boost::_bi::bind_t<>::operator()()
@ 0x25174f3 boost::detail::thread_data<>::run()
@ 0x3d26099 thread_proxy
@ 0x7fdab63cf6b9 start_thread
@ 0x7fdab2b8b41c clone
{noformat}
{noformat}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)