[SERVER-81224] Streams: Deadlock in getMetrics/startStreamProcessor, can cause "Current stage STARTING has timed out" errors Created: 18/Sep/23 Updated: 10/Dec/23 Resolved: 20/Sep/23 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Matthew Normyle | Assignee: | Matthew Normyle |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | init-337-m2, init-337-m3 | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Assigned Teams: |
Atlas Streams
|
| Backwards Compatibility: | Fully Compatible |
| Sprint: | Sprint 32 |
| Participants: |
| Description |
#0 0x00007f6c233b43ad in __lll_lock_wait () from /lib64/libpthread.so.0 #2 0x000055df1aa39160 in mongo::latch_detail::Mutex::lock() () #3 0x000055df1646e6da in streams::MetricManager::registerCounter(std::_cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::pair<std::cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::_cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >) () #4 0x000055df1645dabf in streams::SourceOperator::SourceOperator(streams::Context*, int) () #5 0x000055df164177b7 in streams::KafkaConsumerOperator::KafkaConsumerOperator(streams::Context*, streams::KafkaConsumerOperator::Options) () #6 0x000055df1643b565 in streams::OperatorFactory::toSourceOperator(streams::KafkaConsumerOperator::Options) () #7 0x000055df164441bb in streams::(anonymous namespace)::fromSourceSpec(mongo::BSONObj const&, streams::Context*, streams::OperatorFactory*, absl::lts_20211102::node_hash_map<std::_cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, mongo::Connection, absl::lts_20211102::container_internal::StringHash, absl::lts_20211102::container_internal::StringEq, std::allocator<std::pair<std::_cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, mongo::Connection> > > const&, bool) () #8 0x000055df16446d81 in streams::Parser::fromBson(std::vector<mongo::BSONObj, std::allocator<mongo::BSONObj> > const&) const () #9 0x000055df163e3a0d in streams::StreamManager::createStreamProcessorInfoLocked(mongo::StartStreamProcessorCommand const&) () #10 0x000055df163e902b in streams::StreamManager::startStreamProcessor(mongo::StartStreamProcessorCommand const&) () #2 0x000055df1aa39160 in mongo::latch_detail::Mutex::lock() () #3 0x000055df163dfcf3 in std::_Function_handler<double (), streams::StreamManager::StreamManager(mongo::ServiceContext*, streams::StreamManager::Options)::{lambda()#1}>::_M_invoke(std::_Any_data const&) () #4 0x000055df163ea32a in streams::StreamManager::getMetrics() () |