Skip to content

Spilling memory is not tracked. It's allocated with TCMalloc instead of MKQLAlloc #21494

@lll-phill-lll

Description

@lll-phill-lll

the resource broker takes into account much less memory https://nda.ya.ru/t/YV0EC2WV7GiQjY than KQP CA/SCAN actors consume https://nda.ya.ru/t/Pa6ju1K67GiQpn I dumped the heap here https://nda.ya.ru/t/oOJLmEpW7Gj2FU

18GB on a single node

#0 __sized_ptr_t tcmalloc::tcmalloc_internal::SampleifyAllocation>(tcmalloc::tcmalloc_internal::Static&, tcmalloc::tcmalloc_internal::TCMallocPolicy, unsigned long, unsigned long, unsigned long, void*, tcmalloc::tcmalloc_internal::Span*) at /place/sandbox-data/tasks/2/7/3203152472/ydb/contrib/libs/tcmalloc/tcmalloc/allocation_sampling.h:110:0
#1 __sized_ptr_t tcmalloc::tcmalloc_internal::SampleSmallAllocation>(tcmalloc::tcmalloc_internal::Static&, tcmalloc::tcmalloc_internal::TCMallocPolicy, unsigned long, unsigned long, unsigned long, __sized_ptr_t) at /place/sandbox-data/tasks/2/7/3203152472/ydb/contrib/libs/tcmalloc/tcmalloc/allocation_sampling.h:253:0
#2 tcmalloc::tcmalloc_internal::TCMallocPolicy::pointer_type tcmalloc::tcmalloc_internal::alloc_small_sampled_hooks_or_perthread>(unsigned long, unsigned long, tcmalloc::tcmalloc_internal::TCMallocPolicy, unsigned long) at /place/sandbox-data/tasks/2/7/3203152472/ydb/contrib/libs/tcmalloc/tcmalloc/tcmalloc.cc:995:0
#3 void* tcmalloc::tcmalloc_internal::fast_alloc, void*>(unsigned long, tcmalloc::tcmalloc_internal::TCMallocPolicy) at /place/sandbox-data/tasks/2/7/3203152472/ydb/contrib/libs/tcmalloc/tcmalloc/tcmalloc.cc:0:0
#4 TCMallocInternalMalloc at /place/sandbox-data/tasks/2/7/3203152472/ydb/contrib/libs/tcmalloc/tcmalloc/tcmalloc.cc:1164:0
#5 NKikimr::NMiniKQL::TBufferPage::Allocate(unsigned long) at /place/sandbox-data/tasks/9/0/3212950509/ydb/yql/essentials/minikql/mkql_buffer.cpp:19:0
#6 NKikimr::NMiniKQL::TPagedBuffer::AppendPage() at /place/sandbox-data/tasks/9/0/3212950509/ydb/yql/essentials/minikql/mkql_buffer.cpp:50:0
#7 NKikimr::NMiniKQL::TPagedBuffer::Append(char const*, unsigned long) at /place/sandbox-data/tasks/9/0/3212950509/ydb/yql/essentials/minikql/mkql_buffer.h:233:0
#8 NKikimr::NMiniKQL::TValuePackerTransport::AddWideItem(NYql::NUdf::TUnboxedValuePod const*, unsigned int) at /place/sandbox-data/tasks/9/0/3212950509/ydb/yql/essentials/minikql/computation/mkql_computation_node_pack.cpp:1207:0
#9 NKikimr::NMiniKQL::TWideUnboxedValuesSpillerAdapter::WriteWideItem(TArrayRef const&) at /place/sandbox-data/tasks/9/0/3212950509/ydb/yql/essentials/minikql/computation/mkql_spiller_adapter.h:31:0
#10 NKikimr::NMiniKQL::(anonymous namespace)::TSpillingSupportState::Update() at yql/essentials/minikql/comp_nodes/llvm16/mkql_wide_combine.cpp:497:0
#11 NKikimr::NMiniKQL::(anonymous namespace)::TWideLastCombinerWrapper::DoCalculate(NYql::NUdf::TUnboxedValue&, NKikimr::NMiniKQL::TComputationContext&, NYql::NUdf::TUnboxedValue* const*) const at yql/essentials/minikql/comp_nodes/llvm16/mkql_wide_combine.cpp:1531:0
#12 NKikimr::NMiniKQL::TStatefulWideFlowComputationNode::FetchValues(NKikimr::NMiniKQL::TComputationContext&, NYql::NUdf::TUnboxedValue* const*) const at /place/sandbox-data/tasks/9/0/3212950509/ydb/yql/essentials/minikql/computation/mkql_computation_node_impl.h:676:0
#13 NKikimr::NMiniKQL::(anonymous namespace)::TWideTopWrapper::DoCalculate(NYql::NUdf::TUnboxedValue&, NKikimr::NMiniKQL::TComputationContext&, NYql::NUdf::TUnboxedValue* const*) const at yql/essentials/minikql/comp_nodes/llvm16/mkql_wide_top_sort.cpp:378:0
#14 NKikimr::NMiniKQL::TStatefulWideFlowComputationNode, false>::FetchValues(NKikimr::NMiniKQL::TComputationContext&, NYql::NUdf::TUnboxedValue* const*) const at /place/sandbox-data/tasks/9/0/3212950509/ydb/yql/essentials/minikql/computation/mkql_computation_node_impl.h:676:0
#15 NKikimr::NMiniKQL::(anonymous namespace)::TFromWideFlowWrapper::TStreamValue::WideFetch(NYql::NUdf::TUnboxedValue*, unsigned int) at yql/essentials/minikql/comp_nodes/llvm16/mkql_flow.cpp:399:0
#16 NYql::NUdf::TBoxedValueAccessor::WideFetch(NYql::NUdf::IBoxedValue&, NYql::NUdf::TUnboxedValue*, unsigned int) at /-S/yql/essentials/public/udf/udf_value_inl.h:282:0
#17 NYql::NUdf::TUnboxedValuePod::WideFetch(NYql::NUdf::TUnboxedValue*, unsigned int) const at /-S/yql/essentials/public/udf/udf_value_inl.h:636:0
#18 NYql::NDq::TDqTaskRunner::FetchAndDispatch() at /-S/ydb/library/yql/dq/runtime/dq_tasks_runner.cpp:994:0
#19 NYql::NDq::TDqTaskRunner::Run() at /-S/ydb/library/yql/dq/runtime/dq_tasks_runner.cpp:777:0
#20 NYql::NDq::TDqSyncComputeActorBase::DoExecuteImpl() at /place/sandbox-data/tasks/8/7/3236282278/ydb/ydb/library/yql/dq/actors/compute/dq_sync_compute_actor_base.h:34:0
#21 NYql::NDq::TDqComputeActorBase::DoExecute() at /place/sandbox-data/tasks/8/7/3236282278/ydb/ydb/library/yql/dq/actors/compute/dq_compute_actor_impl.h:355:0
#22 NKikimr::NKqp::NSchedulerOld::TSchedulableComputeActorBase::BaseStateFuncBody(TAutoPtr&) at /place/sandbox-data/tasks/8/7/3236282278/ydb/ydb/core/kqp/runtime/scheduler/old/kqp_compute_scheduler.h:180:0
#23 NKikimr::NKqp::TKqpComputeActor::StateFunc(TAutoPtr&) at /place/sandbox-data/tasks/8/7/3236282278/ydb/ydb/core/kqp/compute_actor/kqp_pure_compute_actor.cpp:156:0
#24 NActors::IActor::Receive(TAutoPtr&) at /place/sandbox-data/tasks/0/1/3230754510/ydb/ydb/library/actors/core/actor.cpp:406:0
#25 NActors::TExecutorThread::Execute(NActors::TMailbox*, bool) at /-S/ydb/library/actors/core/executor_thread.cpp:268:0
#26 NActors::TExecutorThread::ProcessExecutorPool()::$_0::operator()(NActors::TMailbox*, bool) const at /-S/ydb/library/actors/core/executor_thread.cpp:458:0
#27 NActors::TExecutorThread::ProcessExecutorPool() at /-S/ydb/library/actors/core/executor_thread.cpp:510:0
#28 NActors::TExecutorThread::ThreadProc() at /-S/ydb/library/actors/core/executor_thread.cpp:536:0
#29 (anonymous namespace)::TPosixThread::ThreadProxy(void*) at /place/sandbox-data/tasks/9/0/3212950509/ydb/util/system/thread.cpp:245:0
#30 ??? at ???:0:0

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions