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: 413696 bytes in seastar::prometheus::metric_aggregate_by_labels::add #16949

Open
ballard26 opened this issue Mar 7, 2024 · 2 comments
Assignees
Labels

Comments

@ballard26
Copy link
Contributor

ballard26 commented Mar 7, 2024

From topic scale testing.

The issue is from a one off run of a test in #16843

Redpanda version;

v24.1.0-dev-1200-g8684488c39 - 8684488c397a54fedfbcdd4823f8b34b8a623532

Backtrace;

  ./tests/results/latest/ManyTopicsTest/test_many_topics_throughput/1/RedpandaService-0-140400864584720/ip-172-31-2-236/redpanda.log:10638:WARN  2024-03-07 07:03:31,661 [shard  1:admi] seast  ar_memory - oversized allocation: 413696 bytes. This is non-fatal, but could lead to latency and/or fragmentation issues. Please report: at                                                 
  [Backtrace #12]                                                                                                                                                                             
  {/opt/redpanda/libexec/redpanda} 0x94ad7a3: void seastar::backtrace<seastar::current_backtrace_tasklocal()::$_0>(seastar::current_backtrace_tasklocal()::$_0&&) at /v/build/v_deps_build/sea  star-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                                                                    
  {/opt/redpanda/libexec/redpanda} 0x91152cc: 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:1645                                                 
  {/opt/redpanda/libexec/redpanda} 0x91225a0: seastar::memory::allocate(unsigned long) at /v/build/v_deps_build/seastar-prefix/src/seastar/src/core/memory.cc:1658                            
   (inlined by) operator new(unsigned long) at /v/build/v_deps_build/seastar-prefix/src/seastar/src/core/memory.cc:2355                                                                       
  {/opt/redpanda/libexec/redpanda} 0x91930dc: void* std::__1::__libcpp_operator_new[abi:v160004]<unsigned long>(unsigned long) at /vectorized/llvm/bin/../include/c++/v1/new:266              
   (inlined by) std::__1::__libcpp_allocate[abi:v160004](unsigned long, unsigned long) at /vectorized/llvm/bin/../include/c++/v1/new:292                                                      
   (inlined by) std::__1::allocator<std::__1::__hash_node_base<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar:  :basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsig  ned int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > >, seastar::metrics::impl::metric_value>, void*>*>*>::allocate[abi:v160004](unsigned long) at /vectoriz  ed/llvm/bin/../include/c++/v1/__memory/allocator.h:115                                                                                                                                      
   (inlined by) std::__1::allocator_traits<std::__1::allocator<std::__1::__hash_node_base<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::map<seastar::basic_sstring<char, unsigne  d int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar  ::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > >, seastar::metrics::impl::metric_value>, void*>*>*> >::allocate[abi:v160004  ](std::__1::allocator<std::__1::__hash_node_base<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstri  ng<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u  , true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > >, seastar::metrics::impl::metric_value>, void*>*>*>&, unsigned long) at /vectorized/llvm/bin/../include/c++/v1/__m  emory/allocator_traits.h:268                                                                                                                                                                
   (inlined by) void std::__1::__hash_table<std::__1::__hash_value_type<std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, t  rue>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic  _sstring<char, unsigned int, 15u, true> > > >, seastar::metrics::impl::metric_value>, std::__1::__unordered_map_hasher<std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>,   seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<cha  r, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > >, std::__1::__hash_value_type<std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, tr  ue>, seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstrin  g<char, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > >, seastar::metrics::impl::metric_value>, std::__1::hash<std::__1::map<seastar::basic_sstr  ing<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::  __1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > > >, std::__1::equal_to<std::__1::map<seastar::basic_sstrin  g<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__  1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > > >, true>, std::__1::__unordered_map_equal<std::__1::map<sea  star::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1:  :allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > >, std::__1::__hash_value_type<std::__1::ma  p<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std:  :__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > >, seastar::metrics::impl::metric_valu  e>, std::__1::equal_to<std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<cha  r, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > > >  , std::__1::hash<std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, uns  igned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > > >, true  >, std::__1::allocator<std::__1::__hash_value_type<std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::les  s<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsi  gned int, 15u, true> > > >, seastar::metrics::impl::metric_value> > >::__do_rehash<true>(unsigned long) at /vectorized/llvm/bin/../include/c++/v1/__hash_table:2257                         
   (inlined by) void std::__1::__hash_table<std::__1::__hash_value_type<std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, t  rue>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic  _sstring<char, unsigned int, 15u, true> > > >, seastar::metrics::impl::metric_value>, std::__1::__unordered_map_hasher<std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>,   seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<cha  r, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > >, std::__1::__hash_value_type<std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, tr  ue>, seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstrin  g<char, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > >, seastar::metrics::impl::metric_value>, std::__1::hash<std::__1::map<seastar::basic_sstr  ing<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::  __1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > > >, std::__1::equal_to<std::__1::map<seastar::basic_sstrin  g<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__  1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > > >, true>, std::__1::__unordered_map_equal<std::__1::map<sea  star::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1:  :allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > >, std::__1::__hash_value_type<std::__1::ma  p<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std:  :__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > >, seastar::metrics::impl::metric_valu  e>, std::__1::equal_to<std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<cha  r, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > > >  , std::__1::hash<std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, uns  igned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > > >, true  >, std::__1::allocator<std::__1::__hash_value_type<std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::les  s<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsi  gned int, 15u, true> > > >, seastar::metrics::impl::metric_value> > >::__rehash<true>(unsigned long) at /vectorized/llvm/bin/../include/c++/v1/__hash_table:2235                            
   (inlined by) std::__1::__hash_table<std::__1::__hash_value_type<std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>,   std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstr  ing<char, unsigned int, 15u, true> > > >, seastar::metrics::impl::metric_value>, std::__1::__unordered_map_hasher<std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seast  ar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, un  signed int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > >, std::__1::__hash_value_type<std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>,   seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<cha  r, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > >, seastar::metrics::impl::metric_value>, std::__1::hash<std::__1::map<seastar::basic_sstring<c  har, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::  pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > > >, std::__1::equal_to<std::__1::map<seastar::basic_sstring<cha  r, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pa  ir<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > > >, true>, std::__1::__unordered_map_equal<std::__1::map<seastar:  :basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allo  cator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > >, std::__1::__hash_value_type<std::__1::map<sea  star::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1:  :allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > >, seastar::metrics::impl::metric_value>, s  td::__1::equal_to<std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, un  signed int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > > >, std  ::__1::hash<std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned   int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > > >, true>, st  d::__1::allocator<std::__1::__hash_value_type<std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<sea  star::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsigned   int, 15u, true> > > >, seastar::metrics::impl::metric_value> > >::__rehash_unique[abi:v160004](unsigned long) at /vectorized/llvm/bin/../include/c++/v1/__hash_table:1155                   
   (inlined by) std::__1::pair<std::__1::__hash_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic  _sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned in  t, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > >, seastar::metrics::impl::metric_value>, void*>*>, bool> std::__1::__hash_table<std::__1::__hash_value_type<  std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, t  rue> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > >, seastar::metrics::impl:  :metric_value>, std::__1::__unordered_map_hasher<std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<  seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsign  ed int, 15u, true> > > >, std::__1::__hash_value_type<std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::  less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstring<char, u  nsigned int, 15u, true> > > >, seastar::metrics::impl::metric_value>, std::__1::hash<std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsig  ned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const,   seastar::basic_sstring<char, unsigned int, 15u, true> > > > >, std::__1::equal_to<std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigne  d int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, s  eastar::basic_sstring<char, unsigned int, 15u, true> > > > >, true>, std::__1::__unordered_map_equal<std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sst  ring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 1  5u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > >, std::__1::__hash_value_type<std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basi  c_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned i  nt, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > >, seastar::metrics::impl::metric_value>, std::__1::equal_to<std::__1::map<seastar::basic_sstring<char, unsi  gned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seas  tar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > > >, std::__1::hash<std::__1::map<seastar::basic_sstring<char, unsigned i  nt, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::b  asic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > > >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::map<seast  ar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::a  llocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > >, seastar::metrics::impl::metric_value> > >:  :__emplace_unique_key_args<std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring  <char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > >   >, std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15  u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > >, seastar::metrics::i  mpl::metric_value const&>(std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<  char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > >   > const&, std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned i  nt, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > >&&, seastar::me  trics::impl::metric_value const&) at /vectorized/llvm/bin/../include/c++/v1/__hash_table:2021                                                                                               
...
   (inlined by) seastar::prometheus::metric_aggregate_by_labels::add(seastar::metrics::impl::metric_value const&, std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar  ::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsi  gned int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > >) at /v/build/v_deps_build/seastar-prefix/src/seastar/src/core/prometheus.cc:553                     
  {/opt/redpanda/libexec/redpanda} 0x9182c1b: seastar::prometheus::write_text_representation(seastar::output_stream<char>&, seastar::prometheus::config const&, seastar::prometheus::metric_fa  mily_range const&, bool, std::__1::function<bool (std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less  <seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsig  ned int, 15u, true> > > > const&)>)::$_0::operator()()::'lambda'(seastar::metrics::impl::metric_value const&, seastar::metrics::impl::metric_info const&)::operator()(seastar::metrics::impl  ::metric_value const&, seastar::metrics::impl::metric_info const&) at /v/build/v_deps_build/seastar-prefix/src/seastar/src/core/prometheus.cc:605                                           
  {/opt/redpanda/libexec/redpanda} 0x917f7ec: std::__1::__function::__value_func<void (seastar::metrics::impl::metric_value const&, seastar::metrics::impl::metric_info const&)>::operator()[a  bi:v160004](seastar::metrics::impl::metric_value const&, seastar::metrics::impl::metric_info const&) const at /vectorized/llvm/bin/../include/c++/v1/__functional/function.h:510            
   (inlined by) std::__1::function<void (seastar::metrics::impl::metric_value const&, seastar::metrics::impl::metric_info const&)>::operator()(seastar::metrics::impl::metric_value const&, se  astar::metrics::impl::metric_info const&) const at /vectorized/llvm/bin/../include/c++/v1/__functional/function.h:1156                                                                      
   (inlined by) seastar::prometheus::metric_family_iterator::foreach_metric(std::__1::function<void (seastar::metrics::impl::metric_value const&, seastar::metrics::impl::metric_info const&)>  &&) at /v/build/v_deps_build/seastar-prefix/src/seastar/src/core/prometheus.cc:399                                                                                                          
   (inlined by) seastar::prometheus::metric_family::foreach_metric(std::__1::function<void (seastar::metrics::impl::metric_value const&, seastar::metrics::impl::metric_info const&)>&&) at /v  /build/v_deps_build/seastar-prefix/src/seastar/src/core/prometheus.cc:408                                                                                                                   
   (inlined by) seastar::prometheus::write_text_representation(seastar::output_stream<char>&, seastar::prometheus::config const&, seastar::prometheus::metric_family_range const&, bool, std::  __1::function<bool (std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char,   unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > > cons  t&)>)::$_0::operator()() at /v/build/v_deps_build/seastar-prefix/src/seastar/src/core/prometheus.cc:591                                                                                     
   (inlined by) decltype(std::declval<seastar::prometheus::write_text_representation(seastar::output_stream<char>&, seastar::prometheus::config const&, seastar::prometheus::metric_family_ran  ge const&, bool, std::__1::function<bool (std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar  ::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsigned int,   15u, true> > > > const&)>)::$_0>()()) std::__1::__invoke[abi:v160004]<seastar::prometheus::write_text_representation(seastar::output_stream<char>&, seastar::prometheus::config const&, sea  star::prometheus::metric_family_range const&, bool, std::__1::function<bool (std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int,   15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar  ::basic_sstring<char, unsigned int, 15u, true> > > > const&)>)::$_0>(seastar::prometheus::write_text_representation(seastar::output_stream<char>&, seastar::prometheus::config const&, seast  ar::prometheus::metric_family_range const&, bool, std::__1::function<bool (std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 1  5u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::  basic_sstring<char, unsigned int, 15u, true> > > > const&)>)::$_0&&) at /vectorized/llvm/bin/../include/c++/v1/__functional/invoke.h:394                                                    
   (inlined by) decltype(auto) std::__1::__apply_tuple_impl[abi:v160004]<seastar::prometheus::write_text_representation(seastar::output_stream<char>&, seastar::prometheus::config const&, sea  star::prometheus::metric_family_range const&, bool, std::__1::function<bool (std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int,   15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar  ::basic_sstring<char, unsigned int, 15u, true> > > > const&)>)::$_0, std::__1::tuple<> >(seastar::prometheus::write_text_representation(seastar::output_stream<char>&, seastar::prometheus::  config const&, seastar::prometheus::metric_family_range const&, bool, std::__1::function<bool (std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<c  har, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, tr  ue> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > > const&)>)::$_0&&, std::__1::tuple<>&&, std::__1::__tuple_indices<>) at /vectorized/llvm/bin/../include/c++/v1/tuple:1  816                                                                                                                                                                                         
   (inlined by) decltype(auto) std::__1::apply[abi:v160004]<seastar::prometheus::write_text_representation(seastar::output_stream<char>&, seastar::prometheus::config const&, seastar::prometh  eus::metric_family_range const&, bool, std::__1::function<bool (std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>,   std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstri  ng<char, unsigned int, 15u, true> > > > const&)>)::$_0, std::__1::tuple<> >(seastar::prometheus::write_text_representation(seastar::output_stream<char>&, seastar::prometheus::config const&  , seastar::prometheus::metric_family_range const&, bool, std::__1::function<bool (std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned   int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, se  astar::basic_sstring<char, unsigned int, 15u, true> > > > const&)>)::$_0&&, std::__1::tuple<>&&) at /vectorized/llvm/bin/../include/c++/v1/tuple:1825                                       
   (inlined by) seastar::future<void> seastar::futurize<void>::apply<seastar::prometheus::write_text_representation(seastar::output_stream<char>&, seastar::prometheus::config const&, seastar  ::prometheus::metric_family_range const&, bool, std::__1::function<bool (std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u  , true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::ba  sic_sstring<char, unsigned int, 15u, true> > > > const&)>)::$_0>(seastar::prometheus::write_text_representation(seastar::output_stream<char>&, seastar::prometheus::config const&, seastar::  prometheus::metric_family_range const&, bool, std::__1::function<bool (std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u,   true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basi  c_sstring<char, unsigned int, 15u, true> > > > const&)>)::$_0&&, std::__1::tuple<>&&) at /v/build/v_deps_build/seastar-prefix/src/seastar/include/seastar/core/future.hh:1970               
   (inlined by) seastar::futurize<std::__1::invoke_result<seastar::prometheus::write_text_representation(seastar::output_stream<char>&, seastar::prometheus::config const&, seastar::prometheu  s::metric_family_range const&, bool, std::__1::function<bool (std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>, st  d::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstring  <char, unsigned int, 15u, true> > > > const&)>)::$_0>::type>::type seastar::async<seastar::prometheus::write_text_representation(seastar::output_stream<char>&, seastar::prometheus::config   const&, seastar::prometheus::metric_family_range const&, bool, std::__1::function<bool (std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, un  signed int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> con  st, seastar::basic_sstring<char, unsigned int, 15u, true> > > > const&)>)::$_0>(seastar::thread_attributes, seastar::prometheus::write_text_representation(seastar::output_stream<char>&, se  astar::prometheus::config const&, seastar::prometheus::metric_family_range const&, bool, std::__1::function<bool (std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>, seast  ar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<char, un  signed int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > > const&)>)::$_0&&)::'lambda'()::operator()() const at /v/build/v_deps_build/seastar-prefix/src/seas  tar/include/seastar/core/thread.hh:262                                                                                                                                                      
   (inlined by) seastar::noncopyable_function<void ()>::direct_vtable_for<seastar::futurize<std::__1::invoke_result<seastar::prometheus::write_text_representation(seastar::output_stream<char  >&, seastar::prometheus::config const&, seastar::prometheus::metric_family_range const&, bool, std::__1::function<bool (std::__1::map<seastar::basic_sstring<char, unsigned int, 15u, true>,   seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair<seastar::basic_sstring<ch  ar, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > > const&)>)::$_0>::type>::type seastar::async<seastar::prometheus::write_text_representation(s  eastar::output_stream<char>&, seastar::prometheus::config const&, seastar::prometheus::metric_family_range const&, bool, std::__1::function<bool (std::__1::map<seastar::basic_sstring<char,   unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1::allocator<std::__1::pair  <seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > > const&)>)::$_0>(seastar::thread_attributes, seastar::prometheus::w  rite_text_representation(seastar::output_stream<char>&, seastar::prometheus::config const&, seastar::prometheus::metric_family_range const&, bool, std::__1::function<bool (std::__1::map<se  astar::basic_sstring<char, unsigned int, 15u, true>, seastar::basic_sstring<char, unsigned int, 15u, true>, std::__1::less<seastar::basic_sstring<char, unsigned int, 15u, true> >, std::__1  ::allocator<std::__1::pair<seastar::basic_sstring<char, unsigned int, 15u, true> const, seastar::basic_sstring<char, unsigned int, 15u, true> > > > const&)>)::$_0&&)::'lambda'()>::call(sea  star::noncopyable_function<void ()> const*) at /v/build/v_deps_build/seastar-prefix/src/seastar/include/seastar/util/noncopyable_function.hh:129                                            
  {/opt/redpanda/libexec/redpanda} 0x92e7c2b: seastar::noncopyable_function<void ()>::operator()() const at /v/build/v_deps_build/seastar-prefix/src/seastar/include/seastar/util/noncopyable_  function.hh:215                                                                                                                                                                             
   (inlined by) seastar::thread_context::main() at /v/build/v_deps_build/seastar-prefix/src/seastar/src/core/thread.cc:311                                                                    
   (inlined by) seastar::thread_context::s_main(int, int) at /v/build/v_deps_build/seastar-prefix/src/seastar/src/core/thread.cc:287                                                          

JIRA Link: CORE-1861

@travisdowns
Copy link
Member

This type of problem can be fixed by a "chunked map" which we plan to implement in Redpanda. However, this particular data structure is in seastar itself, so we propose also upstreaming a similar data structure: scylladb/seastar#2133

Copy link

This issue hasn't seen activity in 3 months. If you want to keep it open, post a comment or remove the stale label – otherwise this will be closed in two weeks.

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

No branches or pull requests

3 participants