Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Oversized allocation: 323584 bytes in compression::stream_zstd::do_compress #15900

Closed
ballard26 opened this issue Dec 27, 2023 · 7 comments · Fixed by #15920
Closed

Oversized allocation: 323584 bytes in compression::stream_zstd::do_compress #15900

ballard26 opened this issue Dec 27, 2023 · 7 comments · Fixed by #15920
Assignees
Labels

Comments

@ballard26
Copy link
Contributor

Artifact URL: https://ci-artifacts.dev.vectorized.cloud:443/redpanda/43325/018c92ec-cd51-4c73-84a2-900e0cd07649/vbuild/output/redpanda-0.0.0-20231222gitf1fbe6cd-amd64.tar.gz

Test details:

tmp/ducktape/results/2023-12-22--001/AuditLogTestAdminAuthApi/test_excluded_principal/45/RedpandaService-0-139715080355360/docker-rp-21/redpanda.log

Backtrace:

WARN  2023-12-22 20:20:
17,076 [shard 0:main] seastar_memory - oversized allocation: 323584 bytes. This is non-fatal, but could lead to latency and/or fragmentation issues. Please report: at 0x8b572f3 0x87c15ad 0x8
7cd141 0x8415e0d 0x84123c4 0x8410f15 0x83e0d46 0x83de20a 0x80f3768 0x554102a 0x5218c7d 0x52405c4 0x521cc0d 0x5152d27 0x515066d 0x51760d7 0x5188f90 0x2e2dc2a 0x888c4ef 0x888fc61 0x888cdf6 0x8
78e520 0x878c918 0x2cdea36 0x91e1ed9 /opt/redpanda_installs/ci/lib/libc.so.6+0x2d58f /opt/redpanda_installs/ci/lib/libc.so.6+0x2d648 0x2cd7324 log line                                       
LLVMSymbolizer: error reading file: No such file or directory                                                                                                                                 
WARNING:root:for url: https://vectorized:Cr0coLEnt0So@ci-artifacts.dev.vectorized.cloud:443/redpanda/43325/018c931f-0e35-45e8-8631-5e234da8d3d9/vbuild/output/ducktape-release-clang-amd64.tgz
WARNING:root:decoded: tmp/ducktape/results/2023-12-22--001/AuditLogTestAdminAuthApi/test_excluded_principal/45/RedpandaService-0-139715080355360/docker-rp-21/redpanda.log:619:WARN  2023-12-2
2 20:20:17,076 [shard 0:main] seastar_memory - oversized allocation: 323584 bytes. This is non-fatal, but could lead to latency and/or fragmentation issues. Please report: at                
[Backtrace #0]                                                                                                                                                                                
{tmp/libexec/redpanda} 0x8b572f3: void seastar::backtrace<seastar::current_backtrace_tasklocal()::$_0>(seastar::current_backtrace_tasklocal()::$_0&&) at /v/build/v_deps_build/seastar-prefix/
src/seastar/include/seastar/util/backtrace.hh:64                                                                                                                                              
 (inlined by) seastar::current_backtrace_tasklocal() at /v/build/v_deps_build/seastar-prefix/src/seastar/src/util/backtrace.cc:98                                                             
 (inlined by) seastar::current_tasktrace() at /v/build/v_deps_build/seastar-prefix/src/seastar/src/util/backtrace.cc:149                                                                      
 (inlined by) seastar::current_backtrace() at /v/build/v_deps_build/seastar-prefix/src/seastar/src/util/backtrace.cc:182                                                                      
{tmp/libexec/redpanda} 0x87c15ad: seastar::memory::cpu_pages::warn_large_allocation(unsigned long) at /v/build/v_deps_build/seastar-prefix/src/seastar/src/core/memory.cc:839                 
 (inlined by) seastar::memory::cpu_pages::check_large_allocation(unsigned long) at /v/build/v_deps_build/seastar-prefix/src/seastar/src/core/memory.cc:904                                    
 (inlined by) seastar::memory::cpu_pages::allocate_large(unsigned int, bool) at /v/build/v_deps_build/seastar-prefix/src/seastar/src/core/memory.cc:911                                       
 (inlined by) seastar::memory::allocate_large(unsigned long, bool) at /v/build/v_deps_build/seastar-prefix/src/seastar/src/core/memory.cc:1521                                                
 (inlined by) seastar::memory::allocate_slowpath(unsigned long) at /v/build/v_deps_build/seastar-prefix/src/seastar/src/core/memory.cc:1642                                                   
{tmp/libexec/redpanda} 0x87cd141: seastar::memory::allocate(unsigned long) at /v/build/v_deps_build/seastar-prefix/src/seastar/src/core/memory.cc:1655                                        
 (inlined by) __libc_malloc at /v/build/v_deps_build/seastar-prefix/src/seastar/src/core/memory.cc:2136
{tmp/libexec/redpanda} 0x8415e0d: ZSTD_customMalloc at /v/build/v_deps_build/zstd-prefix/src/zstd/lib/compress/../common/allocations.h:30
 (inlined by) ZSTD_cwksp_create at /v/build/v_deps_build/zstd-prefix/src/zstd/lib/compress/zstd_cwksp.h:659
 (inlined by) ZSTD_resetCCtx_internal at /v/build/v_deps_build/zstd-prefix/src/zstd/lib/compress/zstd_compress.c:2118
{tmp/libexec/redpanda} 0x84123c4: ZSTD_compressBegin_internal at /v/build/v_deps_build/zstd-prefix/src/zstd/lib/compress/zstd_compress.c:5026
 (inlined by) ZSTD_CCtx_init_compressStream2 at /v/build/v_deps_build/zstd-prefix/src/zstd/lib/compress/zstd_compress.c:6176
{tmp/libexec/redpanda} 0x8410f15: ZSTD_compressStream2 at /v/build/v_deps_build/zstd-prefix/src/zstd/lib/compress/zstd_compress.c:6234
{tmp/libexec/redpanda} 0x83e0d46: compression::stream_zstd::do_compress(iobuf const&) at /var/lib/buildkite-agent/builds/buildkite-amd64-builders-i-0ffe41a375be48e49-1/redpanda/redpanda/src/
v/compression/stream_zstd.cc:129
{tmp/libexec/redpanda} 0x83de20a: compression::stream_zstd::compress(iobuf const&) at /var/lib/buildkite-agent/builds/buildkite-amd64-builders-i-0ffe41a375be48e49-1/redpanda/redpanda/src/v/c
ompression/stream_zstd.h:27
 (inlined by) compression::internal::zstd_compressor::compress(iobuf const&) at /var/lib/buildkite-agent/builds/buildkite-amd64-builders-i-0ffe41a375be48e49-1/redpanda/redpanda/src/v/compres
sion/internal/zstd_compressor.h:20
 (inlined by) compression::compressor::compress(iobuf const&, model::compression) at /var/lib/buildkite-agent/builds/buildkite-amd64-builders-i-0ffe41a375be48e49-1/redpanda/redpanda/src/v/co
mpression/compression.cc:47
{tmp/libexec/redpanda} 0x80f3768: storage::record_batch_builder::build() && at /var/lib/buildkite-agent/builds/buildkite-amd64-builders-i-0ffe41a375be48e49-1/redpanda/redpanda/src/v/storage/
record_batch_builder.cc:89
{tmp/libexec/redpanda} 0x554102a: kafka::client::produce_batcher::consume() at /var/lib/buildkite-agent/builds/buildkite-amd64-builders-i-0ffe41a375be48e49-1/redpanda/redpanda/src/v/kafka/cl
ient/produce_batcher.h:89
 (inlined by) kafka::client::produce_partition::do_consume() at /var/lib/buildkite-agent/builds/buildkite-amd64-builders-i-0ffe41a375be48e49-1/redpanda/redpanda/src/v/kafka/client/produce_pa
rtition.h:68
 (inlined by) kafka::client::produce_partition::try_consume(bool) at /var/lib/buildkite-agent/builds/buildkite-amd64-builders-i-0ffe41a375be48e49-1/redpanda/redpanda/src/v/kafka/client/produ
ce_partition.h:88
 (inlined by) kafka::client::produce_partition::produce(model::record_batch&&) at /var/lib/buildkite-agent/builds/buildkite-amd64-builders-i-0ffe41a375be48e49-1/redpanda/redpanda/src/v/kafka
/client/produce_partition.h:44
 (inlined by) kafka::client::producer::produce(model::topic_partition, model::record_batch&&) at /var/lib/buildkite-agent/builds/buildkite-amd64-builders-i-0ffe41a375be48e49-1/redpanda/redpa
nda/src/v/kafka/client/producer.cc:119
{tmp/libexec/redpanda} 0x5218c7d: kafka::client::client::produce_record_batch(model::topic_partition, model::record_batch&&)::$_0::operator()() at /var/lib/buildkite-agent/builds/buildkite-a
md64-builders-i-0ffe41a375be48e49-1/redpanda/redpanda/src/v/kafka/client/client.cc:236
 (inlined by) seastar::future<kafka::partition_produce_response> seastar::futurize<seastar::future<kafka::partition_produce_response>>::invoke<kafka::client::client::produce_record_batch(mod
el::topic_partition, model::record_batch&&)::$_0>(kafka::client::client::produce_record_batch(model::topic_partition, model::record_batch&&)::$_0&&) at /vectorized/include/seastar/core/futur
e.hh:2006
 (inlined by) auto seastar::futurize_invoke<kafka::client::client::produce_record_batch(model::topic_partition, model::record_batch&&)::$_0>(kafka::client::client::produce_record_batch(model
::topic_partition, model::record_batch&&)::$_0&&) at /vectorized/include/seastar/core/future.hh:2037
 (inlined by) auto seastar::internal::invoke_func_with_gate<kafka::client::client::produce_record_batch(model::topic_partition, model::record_batch&&)::$_0>(seastar::gate::holder&&, kafka::c
lient::client::produce_record_batch(model::topic_partition, model::record_batch&&)::$_0&&) at /vectorized/include/seastar/core/gate.hh:309
 (inlined by) auto seastar::try_with_gate<kafka::client::client::produce_record_batch(model::topic_partition, model::record_batch&&)::$_0>(seastar::gate&, kafka::client::client::produce_reco
rd_batch(model::topic_partition, model::record_batch&&)::$_0&&) at /vectorized/include/seastar/core/gate.hh:350
 (inlined by) kafka::client::client::produce_record_batch(model::topic_partition, model::record_batch&&) at /var/lib/buildkite-agent/builds/buildkite-amd64-builders-i-0ffe41a375be48e49-1/red
panda/redpanda/src/v/kafka/client/client.cc:228 
{tmp/libexec/redpanda} 0x52405c4: kafka::client::client::produce_records(model::topic, std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>)::$
_1::operator()(kafka::partition_produce_data) at /var/lib/buildkite-agent/builds/buildkite-amd64-builders-i-0ffe41a375be48e49-1/redpanda/redpanda/src/v/kafka/client/client.cc:287
 (inlined by) seastar::future<kafka::partition_produce_response> seastar::futurize<seastar::future<kafka::partition_produce_response>>::invoke<kafka::client::client::produce_records(model::t
opic, std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>)::$_1, kafka::partition_produce_data>(kafka::client::client::produce_records(model::
topic, std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>)::$_1&&, kafka::partition_produce_data&&) at /vectorized/include/seastar/core/futur
e.hh:2006
 (inlined by) auto seastar::futurize_invoke<kafka::client::client::produce_records(model::topic, std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_ess
ence>>)::$_1, kafka::partition_produce_data>(kafka::client::client::produce_records(model::topic, std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_es
sence>>)::$_1&&, kafka::partition_produce_data&&) at /vectorized/include/seastar/core/future.hh:2037
 (inlined by) auto ssx::parallel_transform<std::__1::move_iterator<std::__1::__wrap_iter<kafka::partition_produce_data*>>, kafka::client::client::produce_records(model::topic, std::__1::vect
or<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>)::$_1>(std::__1::move_iterator<std::__1::__wrap_iter<kafka::partition_produce_data*>>, std::__1::move_it
erator<std::__1::__wrap_iter<kafka::partition_produce_data*>>, kafka::client::client::produce_records(model::topic, std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka:
:client::record_essence>>)::$_1)::'lambda'(kafka::partition_produce_data)::operator()(kafka::partition_produce_data) at /var/lib/buildkite-agent/builds/buildkite-amd64-builders-i-0ffe41a375b
e48e49-1/redpanda/redpanda/src/v/ssx/future-util.h:211
 (inlined by) kafka::client::client::produce_records(model::topic, std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>)::$_1 std::__1::transfo
rm[abi:v160004]<std::__1::move_iterator<std::__1::__wrap_iter<kafka::partition_produce_data*>>, std::__1::back_insert_iterator<std::__1::vector<seastar::future<kafka::partition_produce_respo
nse>, std::__1::allocator<seastar::future<kafka::partition_produce_response>>>>, auto ssx::parallel_transform<std::__1::move_iterator<std::__1::__wrap_iter<kafka::partition_produce_data*>>, 
kafka::client::client::produce_records(model::topic, std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>)::$_1>(std::__1::move_iterator<std::_
_1::__wrap_iter<kafka::partition_produce_data*>>, std::__1::move_iterator<std::__1::__wrap_iter<kafka::partition_produce_data*>>, kafka::client::client::produce_records(model::topic, std::__
1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>)::$_1)::'lambda'(kafka::partition_produce_data)>(std::__1::move_iterator<std::__1::__wrap_iter<ka
fka::partition_produce_data*>>, std::__1::move_iterator<std::__1::__wrap_iter<kafka::partition_produce_data*>>, kafka::client::client::produce_records(model::topic, std::__1::vector<kafka::c
lient::record_essence, std::__1::allocator<kafka::client::record_essence>>)::$_1, auto ssx::parallel_transform<std::__1::move_iterator<std::__1::__wrap_iter<kafka::partition_produce_data*>>,
 kafka::client::client::produce_records(model::topic, std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>)::$_1>(std::__1::move_iterator<std::
__1::__wrap_iter<kafka::partition_produce_data*>>, std::__1::move_iterator<std::__1::__wrap_iter<kafka::partition_produce_data*>>, kafka::client::client::produce_records(model::topic, std::_
_1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>)::$_1)::'lambda'(kafka::partition_produce_data)) at /vectorized/llvm/bin/../include/c++/v1/__alg
orithm/transform.h:26
 (inlined by) auto ssx::parallel_transform<std::__1::move_iterator<std::__1::__wrap_iter<kafka::partition_produce_data*>>, kafka::client::client::produce_records(model::topic, std::__1::vect
or<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>)::$_1>(std::__1::move_iterator<std::__1::__wrap_iter<kafka::partition_produce_data*>>, std::__1::move_it
erator<std::__1::__wrap_iter<kafka::partition_produce_data*>>, kafka::client::client::produce_records(model::topic, std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka:
:client::record_essence>>)::$_1) at /var/lib/buildkite-agent/builds/buildkite-amd64-builders-i-0ffe41a375be48e49-1/redpanda/redpanda/src/v/ssx/future-util.h:206
 (inlined by) auto ssx::parallel_transform<std::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>, kafka::client::client::produce_records(model::
topic, std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>)::$_1>(std::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::p
artition_produce_data>>, kafka::client::client::produce_records(model::topic, std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>)::$_1)::'lam
bda'(std::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>&)::operator()(std::__1::vector<kafka::partition_produce_data, std::__1::allocator<kaf
ka::partition_produce_data>>&) at /var/lib/buildkite-agent/builds/buildkite-amd64-builders-i-0ffe41a375be48e49-1/redpanda/redpanda/src/v/ssx/future-util.h:246
 (inlined by) decltype(std::declval<std::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>>()(std::declval<std::__1::vector<kafka::partition_prod
uce_data, std::__1::allocator<kafka::partition_produce_data>>&>())) std::__1::__invoke[abi:v160004]<auto ssx::parallel_transform<std::__1::vector<kafka::partition_produce_data, std::__1::all
ocator<kafka::partition_produce_data>>, kafka::client::client::produce_records(model::topic, std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence
>>)::$_1>(std::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>, kafka::client::client::produce_records(model::topic, std::__1::vector<kafka::cl
ient::record_essence, std::__1::allocator<kafka::client::record_essence>>)::$_1)::'lambda'(std::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>
&)&, std::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>&>(std::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::partitio
n_produce_data>>&&, std::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>&) at /vectorized/llvm/bin/../include/c++/v1/__functional/invoke.h:394
{tmp/libexec/redpanda} 0x521cc0d: decltype(auto) std::__1::__apply_tuple_impl[abi:v160004]<auto ssx::parallel_transform<std::__1::vector<kafka::partition_produce_data, std::__1::allocator<ka
fka::partition_produce_data>>, kafka::client::client::produce_records(model::topic, std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>)::$_1>
(std::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>, kafka::client::client::produce_records(model::topic, std::__1::vector<kafka::client::rec
ord_essence, std::__1::allocator<kafka::client::record_essence>>)::$_1)::'lambda'(std::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>&)&, std:
:__1::tuple<std::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>>&, 0ul>(std::__1::vector<kafka::partition_produce_data, std::__1::allocator<ka
fka::partition_produce_data>>&&, kafka::client::client::produce_records(model::topic, std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>)::$_
1&&, std::__1::__tuple_indices<0ul>) at /vectorized/llvm/bin/../include/c++/v1/tuple:1816
 (inlined by) decltype(auto) std::__1::apply[abi:v160004]<auto ssx::parallel_transform<std::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>, ka
fka::client::client::produce_records(model::topic, std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>)::$_1>(std::__1::vector<kafka::partitio
n_produce_data, std::__1::allocator<kafka::partition_produce_data>>, kafka::client::client::produce_records(model::topic, std::__1::vector<kafka::client::record_essence, std::__1::allocator<
kafka::client::record_essence>>)::$_1)::'lambda'(std::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>&)&, std::__1::tuple<std::__1::vector<kafk
a::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>>&>(std::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>&&, kafka
::client::client::produce_records(model::topic, std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>)::$_1&&) at /vectorized/llvm/bin/../includ
e/c++/v1/tuple:1825
 (inlined by) auto seastar::internal::do_with_impl<std::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>, auto ssx::parallel_transform<std::__1:
:vector<kafka::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>, kafka::client::client::produce_records(model::topic, std::__1::vector<kafka::client::record_essenc
e, std::__1::allocator<kafka::client::record_essence>>)::$_1>(std::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>, kafka::client::client::prod
uce_records(model::topic, std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>)::$_1)::'lambda'(std::__1::vector<kafka::partition_produce_data,
 std::__1::allocator<kafka::partition_produce_data>>&)>(std::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>&&, kafka::client::client::produce_
records(model::topic, std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>)::$_1&&) at /vectorized/include/seastar/core/do_with.hh:99
 (inlined by) seastar::future<std::__1::vector<kafka::partition_produce_response, std::__1::allocator<kafka::partition_produce_response>>> seastar::futurize<seastar::future<std::__1::vector<
kafka::partition_produce_response, std::__1::allocator<kafka::partition_produce_response>>>>::invoke<seastar::future<std::__1::vector<kafka::partition_produce_response, std::__1::allocator<k
afka::partition_produce_response>>> (*&)(std::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>&&, auto ssx::parallel_transform<std::__1::vector<
kafka::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>, kafka::client::client::produce_records(model::topic, std::__1::vector<kafka::client::record_essence, std::
__1::allocator<kafka::client::record_essence>>)::$_1>(std::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>, kafka::client::client::produce_reco
rds(model::topic, std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>)::$_1)::'lambda'(std::__1::vector<kafka::partition_produce_data, std::__
1::allocator<kafka::partition_produce_data>>&)&&), std::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>, auto ssx::parallel_transform<std::__1:
:vector<kafka::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>, kafka::client::client::produce_records(model::topic, std::__1::vector<kafka::client::record_essenc
e, std::__1::allocator<kafka::client::record_essence>>)::$_1>(std::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>, kafka::client::client::prod
uce_records(model::topic, std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>)::$_1)::'lambda'(std::__1::vector<kafka::partition_produce_data,
 std::__1::allocator<kafka::partition_produce_data>>&)>(std::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>&&, std::__1::vector<kafka::partiti
on_produce_data, std::__1::allocator<kafka::partition_produce_data>>&&, auto ssx::parallel_transform<std::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::partition_prod
uce_data>>, kafka::client::client::produce_records(model::topic, std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>)::$_1>(std::__1::vector<k
afka::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>, kafka::client::client::produce_records(model::topic, std::__1::vector<kafka::client::record_essence, std::_
_1::allocator<kafka::client::record_essence>>)::$_1)::'lambda'(std::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>&)&&) at /vectorized/include
/seastar/core/future.hh:2006
<kafka::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>&&, auto ssx::parallel_transform<std::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka:
:partition_produce_data>>, kafka::client::client::produce_records(model::topic, std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>)::$_1>(std
::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>, kafka::client::client::produce_records(model::topic, std::__1::vector<kafka::client::record_
essence, std::__1::allocator<kafka::client::record_essence>>)::$_1)::'lambda'(std::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>&)&&), std::_
_1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>, auto ssx::parallel_transform<std::__1::vector<kafka::partition_produce_data, std::__1::allocato
r<kafka::partition_produce_data>>, kafka::client::client::produce_records(model::topic, std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>)::
$_1>(std::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>, kafka::client::client::produce_records(model::topic, std::__1::vector<kafka::client:
:record_essence, std::__1::allocator<kafka::client::record_essence>>)::$_1)::'lambda'(std::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>&)>(s
td::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>&&, std::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::partition_pro
duce_data>>&&, auto ssx::parallel_transform<std::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>, kafka::client::client::produce_records(model:
:topic, std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>)::$_1>(std::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::
partition_produce_data>>, kafka::client::client::produce_records(model::topic, std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>)::$_1)::'la
mbda'(std::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>&)&&) at /vectorized/include/seastar/core/future.hh:2037                             
 (inlined by) auto seastar::do_with<std::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>, auto ssx::parallel_transform<std::__1::vector<kafka::
partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>, kafka::client::client::produce_records(model::topic, std::__1::vector<kafka::client::record_essence, std::__1::al
locator<kafka::client::record_essence>>)::$_1>(std::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>, kafka::client::client::produce_records(mod
el::topic, std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>)::$_1)::'lambda'(std::__1::vector<kafka::partition_produce_data, std::__1::allo
cator<kafka::partition_produce_data>>&)>(std::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>&&, kafka::client::client::produce_records(model::
topic, std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>)::$_1&&) at /vectorized/include/seastar/core/do_with.hh:137
 (inlined by) auto ssx::parallel_transform<std::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::partition_produce_data>>, kafka::client::client::produce_records(model::
topic, std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>)::$_1>(std::__1::vector<kafka::partition_produce_data, std::__1::allocator<kafka::p
artition_produce_data>>, kafka::client::client::produce_records(model::topic, std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>)::$_1) at /v
ar/lib/buildkite-agent/builds/buildkite-amd64-builders-i-0ffe41a375be48e49-1/redpanda/redpanda/src/v/ssx/future-util.h:244
 (inlined by) kafka::client::client::produce_records(model::topic, std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>) at /var/lib/buildkite-
agent/builds/buildkite-amd64-builders-i-0ffe41a375be48e49-1/redpanda/redpanda/src/v/kafka/client/client.cc:283
{tmp/libexec/redpanda} 0x5152d27: security::audit::audit_client::do_produce(std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>, security::aud
it::audit_probe&) at /var/lib/buildkite-agent/builds/buildkite-amd64-builders-i-0ffe41a375be48e49-1/redpanda/redpanda/src/v/security/audit/audit_log_manager.cc:512
{tmp/libexec/redpanda} 0x515066d: security::audit::audit_client::produce(std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>, security::audit:
:audit_probe&)::$_1::operator()() at /var/lib/buildkite-agent/builds/buildkite-amd64-builders-i-0ffe41a375be48e49-1/redpanda/redpanda/src/v/security/audit/audit_log_manager.cc:498
 (inlined by) seastar::future<void> seastar::futurize<seastar::future<void>>::invoke<security::audit::audit_client::produce(std::__1::vector<kafka::client::record_essence, std::__1::allocato
r<kafka::client::record_essence>>, security::audit::audit_probe&)::$_1>(security::audit::audit_client::produce(std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::clie
nt::record_essence>>, security::audit::audit_probe&)::$_1&&) at /vectorized/include/seastar/core/future.hh:2006
 (inlined by) auto seastar::futurize_invoke<security::audit::audit_client::produce(std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>, securi
ty::audit::audit_probe&)::$_1>(security::audit::audit_client::produce(std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>, security::audit::au
dit_probe&)::$_1&&) at /vectorized/include/seastar/core/future.hh:2037
 (inlined by) auto seastar::internal::invoke_func_with_gate<security::audit::audit_client::produce(std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_e
ssence>>, security::audit::audit_probe&)::$_1>(seastar::gate::holder&&, security::audit::audit_client::produce(std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::clie
nt::record_essence>>, security::audit::audit_probe&)::$_1&&) at /vectorized/include/seastar/core/gate.hh:309
 (inlined by) auto seastar::try_with_gate<security::audit::audit_client::produce(std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>, security
::audit::audit_probe&)::$_1>(seastar::gate&, security::audit::audit_client::produce(std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>, secur
ity::audit::audit_probe&)::$_1&&) at /vectorized/include/seastar/core/gate.hh:350
 (inlined by) auto ssx::spawn_with_gate_then<security::audit::audit_client::produce(std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>, secur
ity::audit::audit_probe&)::$_1>(seastar::gate&, security::audit::audit_client::produce(std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>, se
curity::audit::audit_probe&)::$_1&&) at /var/lib/buildkite-agent/builds/buildkite-amd64-builders-i-0ffe41a375be48e49-1/redpanda/redpanda/src/v/ssx/future-util.h:316
 (inlined by) void ssx::spawn_with_gate<security::audit::audit_client::produce(std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>, security::
audit::audit_probe&)::$_1>(seastar::gate&, security::audit::audit_client::produce(std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>, securit
y::audit::audit_probe&)::$_1&&) at /var/lib/buildkite-agent/builds/buildkite-amd64-builders-i-0ffe41a375be48e49-1/redpanda/redpanda/src/v/ssx/future-util.h:330
 (inlined by) security::audit::audit_client::produce(std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>, security::audit::audit_probe&) at /v
ar/lib/buildkite-agent/builds/buildkite-amd64-builders-i-0ffe41a375be48e49-1/redpanda/redpanda/src/v/security/audit/audit_log_manager.cc:492
{tmp/libexec/redpanda} 0x51760d7: security::audit::audit_sink::produce(std::__1::vector<kafka::client::record_essence, std::__1::allocator<kafka::client::record_essence>>) at /var/lib/buildk
ite-agent/builds/buildkite-amd64-builders-i-0ffe41a375be48e49-1/redpanda/redpanda/src/v/security/audit/audit_log_manager.cc:575
 (inlined by) security::audit::audit_log_manager::drain()::$_0::operator()(security::audit::audit_log_manager&) at /var/lib/buildkite-agent/builds/buildkite-amd64-builders-i-0ffe41a375be48e4
9-1/redpanda/redpanda/src/v/security/audit/audit_log_manager.cc:905
 (inlined by) decltype(std::declval<security::audit::audit_log_manager::drain()::$_0>()(std::declval<security::audit::audit_log_manager&>())) std::__1::__invoke[abi:v160004]<security::audit:
:audit_log_manager::drain()::$_0, security::audit::audit_log_manager&>(security::audit::audit_log_manager::drain()::$_0&&, security::audit::audit_log_manager&) at /vectorized/llvm/bin/../inc
lude/c++/v1/__functional/invoke.h:394
 (inlined by) decltype(auto) std::__1::__apply_tuple_impl[abi:v160004]<security::audit::audit_log_manager::drain()::$_0, std::__1::tuple<security::audit::audit_log_manager&>, 0ul>(security::
audit::audit_log_manager::drain()::$_0&&, std::__1::tuple<security::audit::audit_log_manager&>&&, std::__1::__tuple_indices<0ul>) at /vectorized/llvm/bin/../include/c++/v1/tuple:1816
 (inlined by) decltype(auto) std::__1::apply[abi:v160004]<security::audit::audit_log_manager::drain()::$_0, std::__1::tuple<security::audit::audit_log_manager&>>(security::audit::audit_log_m
anager::drain()::$_0&&, std::__1::tuple<security::audit::audit_log_manager&>&&) at /vectorized/llvm/bin/../include/c++/v1/tuple:1825
 (inlined by) seastar::future<void> seastar::sharded<security::audit::audit_log_manager>::invoke_on<security::audit::audit_log_manager::drain()::$_0, seastar::future<void>>(unsigned int, sea
star::smp_submit_to_options, security::audit::audit_log_manager::drain()::$_0&&)::'lambda'()::operator()() at /vectorized/include/seastar/core/sharded.hh:468
 (inlined by) seastar::future<void> seastar::futurize<seastar::future<void>>::invoke<seastar::future<void> seastar::sharded<security::audit::audit_log_manager>::invoke_on<security::audit::au
dit_log_manager::drain()::$_0, seastar::future<void>>(unsigned int, seastar::smp_submit_to_options, security::audit::audit_log_manager::drain()::$_0&&)::'lambda'()&>(security::audit::audit_l
og_manager::drain()::$_0&&) at /vectorized/include/seastar/core/future.hh:2006
{tmp/libexec/redpanda} 0x5188f90: seastar::futurize<std::__1::invoke_result<security::audit::audit_log_manager::drain()::$_0>::type>::type seastar::smp::submit_to<seastar::future<void> seast
ar::sharded<security::audit::audit_log_manager>::invoke_on<security::audit::audit_log_manager::drain()::$_0, seastar::future<void>>(unsigned int, seastar::smp_submit_to_options, security::au
dit::audit_log_manager::drain()::$_0&&)::'lambda'()>(unsigned int, seastar::smp_submit_to_options, security::audit::audit_log_manager::drain()::$_0&&) at /vectorized/include/seastar/core/smp
.hh:385
 (inlined by) seastar::future<void> seastar::sharded<security::audit::audit_log_manager>::invoke_on<security::audit::audit_log_manager::drain()::$_0, seastar::future<void>>(unsigned int, sea
star::smp_submit_to_options, security::audit::audit_log_manager::drain()::$_0&&) at /vectorized/include/seastar/core/sharded.hh:466
 (inlined by) seastar::future<void> seastar::sharded<security::audit::audit_log_manager>::invoke_on<security::audit::audit_log_manager::drain()::$_0, seastar::future<void>>(unsigned int, sec
urity::audit::audit_log_manager::drain()::$_0&&) at /vectorized/include/seastar/core/sharded.hh:484
 (inlined by) security::audit::audit_log_manager::drain() (.resume) at /var/lib/buildkite-agent/builds/buildkite-amd64-builders-i-0ffe41a375be48e49-1/redpanda/redpanda/src/v/security/audit/a
udit_log_manager.cc:902
{tmp/libexec/redpanda} 0x2e2dc2a: std::__1::coroutine_handle<seastar::internal::coroutine_traits_base<void>::promise_type>::resume[abi:v160004]() const at /vectorized/llvm/bin/../include/c++
/v1/__coroutine/coroutine_handle.h:169
 (inlined by) seastar::internal::coroutine_traits_base<void>::promise_type::run_and_dispose() at /vectorized/include/seastar/core/coroutine.hh:125
{tmp/libexec/redpanda} 0x888c4ef: seastar::reactor::run_tasks(seastar::reactor::task_queue&) at /v/build/v_deps_build/seastar-prefix/src/seastar/src/core/reactor.cc:2750
 (inlined by) seastar::reactor::run_some_tasks() at /v/build/v_deps_build/seastar-prefix/src/seastar/src/core/reactor.cc:3213
{tmp/libexec/redpanda} 0x888fc61: seastar::reactor::do_run() at /v/build/v_deps_build/seastar-prefix/src/seastar/src/core/reactor.cc:3397
{tmp/libexec/redpanda} 0x888cdf6: seastar::reactor::run() at /v/build/v_deps_build/seastar-prefix/src/seastar/src/core/reactor.cc:3265
{tmp/libexec/redpanda} 0x878e520: seastar::app_template::run_deprecated(int, char**, std::__1::function<void ()>&&) at /v/build/v_deps_build/seastar-prefix/src/seastar/src/core/app-template.
cc:276
{tmp/libexec/redpanda} 0x878c918: seastar::app_template::run(int, char**, std::__1::function<seastar::future<int> ()>&&) at /v/build/v_deps_build/seastar-prefix/src/seastar/src/core/app-temp
late.cc:167
{tmp/libexec/redpanda} 0x2cdea36: application::run(int, char**) at /var/lib/buildkite-agent/builds/buildkite-amd64-builders-i-0ffe41a375be48e49-1/redpanda/redpanda/src/v/redpanda/application
.cc:410
{tmp/libexec/redpanda} 0x91e1ed9: main at /var/lib/buildkite-agent/builds/buildkite-amd64-builders-i-0ffe41a375be48e49-1/redpanda/redpanda/src/v/redpanda/main.cc:22
{/opt/redpanda_installs/ci/lib/libc.so.6} 0x2d58f: ?? at ??:0
{/opt/redpanda_installs/ci/lib/libc.so.6} 0x2d648: ?? at ??:0
{tmp/libexec/redpanda} 0x2cd7324: _start at ??:0
@ballard26
Copy link
Contributor Author

It may be worth switching the Kafka zstd impl to src/v/compression/async_stream_zstd.h which is used by the internal RPC code and avoids large contiguous allocations.

@rockwotj
Copy link
Contributor

Should we even have an interface that is prone to large allocs?

@ballard26
Copy link
Contributor Author

1MiB allocation from this in;

root:for url: https://ci-artifacts.dev.vectorized.cloud:443/vtools/11270/018c931e-5db5-4571-aad1-63163ace83ca/vbuild/output/ducktape-release-clang-amd64.tgz  
root:decoded: tmp/ducktape/results/2023-12-22--001/AuditLogTest/test_audit_log/214/RedpandaService-0-281473512715552/ip-172-31-5-240/redpanda.log:52020:WARN  2023-12-22 22:57:52,101 
[shard 0:main] seastar_memory - oversized allocation: 987136 bytes. This is non-fatal, but could lead to latency and/or fragmentation issues. Please report: at                               
[Backtrace #2]                                                                                                                                                                                
{tmp/libexec/redpanda} 0x76fec87: void seastar::backtrace<seastar::current_backtrace_tasklocal()::$_0>(seastar::current_backtrace_tasklocal()::$_0&&) at /v/build/v_deps_build/seastar-prefix/
src/seastar/include/seastar/util/backtrace.hh:64                                                                                                                                              
 (inlined by) seastar::current_backtrace_tasklocal() at /v/build/v_deps_build/seastar-prefix/src/seastar/src/util/backtrace.cc:98                                                             
 (inlined by) seastar::current_tasktrace() at /v/build/v_deps_build/seastar-prefix/src/seastar/src/util/backtrace.cc:149                                                                      
 (inlined by) seastar::current_backtrace() at /v/build/v_deps_build/seastar-prefix/src/seastar/src/util/backtrace.cc:182                                                                      
{tmp/libexec/redpanda} 0x74096cf: seastar::memory::cpu_pages::warn_large_allocation(unsigned long) at /v/build/v_deps_build/seastar-prefix/src/seastar/src/core/memory.cc:839                 
 (inlined by) seastar::memory::cpu_pages::check_large_allocation(unsigned long) at /v/build/v_deps_build/seastar-prefix/src/seastar/src/core/memory.cc:904                                    
 (inlined by) seastar::memory::cpu_pages::allocate_large(unsigned int, bool) at /v/build/v_deps_build/seastar-prefix/src/seastar/src/core/memory.cc:911                                       
 (inlined by) seastar::memory::allocate_large(unsigned long, bool) at /v/build/v_deps_build/seastar-prefix/src/seastar/src/core/memory.cc:1521                                                
 (inlined by) seastar::memory::allocate_slowpath(unsigned long) at /v/build/v_deps_build/seastar-prefix/src/seastar/src/core/memory.cc:1642                                                   
{tmp/libexec/redpanda} 0x741395f: seastar::memory::allocate(unsigned long) at /v/build/v_deps_build/seastar-prefix/src/seastar/src/core/memory.cc:1655                                        
 (inlined by) __libc_malloc at /v/build/v_deps_build/seastar-prefix/src/seastar/src/core/memory.cc:2136                                                                                       
{tmp/libexec/redpanda} 0x70ff983: ZSTD_customMalloc at /v/build/v_deps_build/zstd-prefix/src/zstd/lib/compress/../common/allocations.h:30                                                     
 (inlined by) ZSTD_cwksp_create at /v/build/v_deps_build/zstd-prefix/src/zstd/lib/compress/zstd_cwksp.h:659                                                                                   
 (inlined by) ZSTD_resetCCtx_internal at /v/build/v_deps_build/zstd-prefix/src/zstd/lib/compress/zstd_compress.c:2118                                                                         
{tmp/libexec/redpanda} 0x70fcadf: ZSTD_compressBegin_internal at /v/build/v_deps_build/zstd-prefix/src/zstd/lib/compress/zstd_compress.c:5026                                                 
 (inlined by) ZSTD_CCtx_init_compressStream2 at /v/build/v_deps_build/zstd-prefix/src/zstd/lib/compress/zstd_compress.c:6176                                                                  
{tmp/libexec/redpanda} 0x70fb9ff: ZSTD_compressStream2 at /v/build/v_deps_build/zstd-prefix/src/zstd/lib/compress/zstd_compress.c:6234                                                        
{tmp/libexec/redpanda} 0x70d4983: compression::stream_zstd::do_compress(iobuf const&) at /var/lib/buildkite-agent/builds/buildkite-arm64-builders-i-0f37e2dc7522d1aee-1/redpanda/redpanda/src/
v/compression/stream_zstd.cc:129                                                                                                                                                              
{tmp/libexec/redpanda} 0x70d2a13: compression::stream_zstd::compress(iobuf const&) at /var/lib/buildkite-agent/builds/buildkite-arm64-builders-i-0f37e2dc7522d1aee-1/redpanda/redpanda/src/v/c
ompression/stream_zstd.h:27                                                                                                                                                                   
 (inlined by) compression::internal::zstd_compressor::compress(iobuf const&) at /var/lib/buildkite-agent/builds/buildkite-arm64-builders-i-0f37e2dc7522d1aee-1/redpanda/redpanda/src/v/compres
sion/internal/zstd_compressor.h:20                                                                                                                                                            
 (inlined by) compression::compressor::compress(iobuf const&, model::compression) at /var/lib/buildkite-agent/builds/buildkite-arm64-builders-i-0f37e2dc7522d1aee-1/redpanda/redpanda/src/v/co
mpression/compression.cc:47                                                                                                                                                                   
{tmp/libexec/redpanda} 0x6e915db: storage::record_batch_builder::build() && at /var/lib/buildkite-agent/builds/buildkite-arm64-builders-i-0f37e2dc7522d1aee-1/redpanda/redpanda/src/v/storage/
record_batch_builder.cc:89                                                                                                                                                                    
{tmp/libexec/redpanda} 0x4c36a7b: kafka::client::produce_batcher::consume() at /var/lib/buildkite-agent/builds/buildkite-arm64-builders-i-0f37e2dc7522d1aee-1/redpanda/redpanda/src/v/kafka/cl
ient/produce_batcher.h:89                                                                                                                                                                     
 (inlined by) kafka::client::produce_partition::do_consume() at /var/lib/buildkite-agent/builds/buildkite-arm64-builders-i-0f37e2dc7522d1aee-1/redpanda/redpanda/src/v/kafka/client/produce_pa
rtition.h:68                                                                                                                                                                                  
 (inlined by) kafka::client::produce_partition::try_consume(bool) at /var/lib/buildkite-agent/builds/buildkite-arm64-builders-i-0f37e2dc7522d1aee-1/redpanda/redpanda/src/v/kafka/client/produ
ce_partition.h:88                                                                                                                                                                             
 (inlined by) kafka::client::produce_partition::produce(model::record_batch&&) at /var/lib/buildkite-agent/builds/buildkite-arm64-builders-i-0f37e2dc7522d1aee-1/redpanda/redpanda/src/v/kafka
/client/produce_partition.h:44
 (inlined by) kafka::client::producer::produce(model::topic_partition, model::record_batch&&) at /var/lib/buildkite-agent/builds/buildkite-arm64-builders-i-0f37e2dc7522d1aee-1/redpanda/redpa
nda/src/v/kafka/client/producer.cc:119
{tmp/libexec/redpanda} 0x49c167f: kafka::client::client::produce_record_batch(model::topic_partition, model::record_batch&&)::$_0::operator()() at /var/lib/buildkite-agent/builds/buildkite-a
rm64-builders-i-0f37e2dc7522d1aee-1/redpanda/redpanda/src/v/kafka/client/client.cc:236
 (inlined by) seastar::future<kafka::partition_produce_response> seastar::futurize<seastar::future<kafka::partition_produce_response>>::invoke<kafka::client::client::produce_record_batch(mod
el::topic_partition, model::record_batch&&)::$_0>(kafka::client::client::produce_record_batch(model::topic_partition, model::record_batch&&)::$_0&&) at /vectorized/include/seastar/core/futur
e.hh:2006
 (inlined by) auto seastar::futurize_invoke<kafka::client::client::produce_record_batch(model::topic_partition, model::record_batch&&)::$_0>(kafka::client::client::produce_record_batch(model
::topic_partition, model::record_batch&&)::$_0&&) at /vectorized/include/seastar/core/future.hh:2037
 (inlined by) auto seastar::internal::invoke_func_with_gate<kafka::client::client::produce_record_batch(model::topic_partition, model::record_batch&&)::$_0>(seastar::gate::holder&&, kafka::c
lient::client::produce_record_batch(model::topic_partition, model::record_batch&&)::$_0&&) at /vectorized/include/seastar/core/gate.hh:309
 (inlined by) auto seastar::try_with_gate<kafka::client::client::produce_record_batch(model::topic_partition, model::record_batch&&)::$_0>(seastar::gate&, kafka::client::client::produce_reco
rd_batch(model::topic_partition, model::record_batch&&)::$_0&&) at /vectorized/include/seastar/core/gate.hh:350
...truncated...

@rockwotj
Copy link
Contributor

FYI @graphcareful @michael-redpanda

@ballard26
Copy link
Contributor Author

Should we even have an interface that is prone to large allocs?

The interface itself just takes in a const reference to an iobuf and returns an iobuf; which shouldn't be too problematic. It's what happens internally to compress the iobuf that is causing the large allocation. Compressing the iobuf in smaller chunks like src/v/compression/async_stream_zstd.h does avoids the large allocation.

@rockwotj
Copy link
Contributor

Sorry I was asking more:

Should we fix the allocations internally to this interface or remove it? It seems like it should be removed and everything updated to use the async version to prevent large allocations and reactor stalls.

@ballard26
Copy link
Contributor Author

Should we fix the allocations internally to this interface or remove it? It seems like it should be removed and everything updated to use the async version to prevent large allocations and reactor stalls.

Ah, makes sense. I'm in favor of removing it and switching to the async version to avoid reactor stalls. It would mean having to change the other supported compression formats to the async interface as well. I suppose this could be as simple as returning a ready future for the other formats. At least until reactor stalls are a problem for them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants