Details
Description
Triggering the RLP-token-length-limit error from SERVER-18266 leads to a leak during query execution:
Server command:
valgrind --show-leak-kinds=definite --leak-check=full --suppressions=./etc/valgrind.suppressions ./mongod --basisTechRootDirectory=/opt/basis/
Leak report:
==19816== Thread 1:
|
==19816== 37,235 (40 direct, 37,195 indirect) bytes in 1 blocks are definitely lost in loss record 5,512 of 5,525
|
==19816== at 0x4C2B0E0: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
|
==19816== by 0x173FD58: mongo::QueryPlannerAnalysis::analyzeDataAccess(mongo::CanonicalQuery const&, mongo::QueryPlannerParams const&, mongo::QuerySolutionNode*) (planner_analysis.cpp:531)
|
==19816== by 0x174B468: mongo::QueryPlanner::plan(mongo::CanonicalQuery const&, mongo::QueryPlannerParams const&, std::vector<mongo::QuerySolution*, std::allocator<mongo::QuerySolution*> >*) (query_planner.cpp:772)
|
==19816== by 0x16F1163: mongo::(anonymous namespace)::prepareExecution(mongo::OperationContext*, mongo::Collection*, mongo::WorkingSet*, mongo::CanonicalQuery*, unsigned long, mongo::PlanStage**, mongo::QuerySolution**) (get_executor.cpp:364)
|
==19816== by 0x16F1F22: mongo::getExecutor(mongo::OperationContext*, mongo::Collection*, mongo::CanonicalQuery*, mongo::PlanExecutor::YieldPolicy, mongo::PlanExecutor**, unsigned long) (get_executor.cpp:453)
|
==19816== by 0x16F31FD: mongo::getExecutorFind(mongo::OperationContext*, mongo::Collection*, mongo::NamespaceString const&, mongo::CanonicalQuery*, mongo::PlanExecutor::YieldPolicy, mongo::PlanExecutor**) (get_executor.cpp:641)
|
==19816== by 0x16EDEEB: mongo::runQuery(mongo::OperationContext*, mongo::QueryMessage&, mongo::NamespaceString const&, mongo::CurOp&, mongo::Message&) (find.cpp:560)
|
==19816== by 0x15B889C: mongo::receivedQuery(mongo::OperationContext*, mongo::NamespaceString const&, mongo::Client&, mongo::DbResponse&, mongo::Message&) (instance.cpp:368)
|
==19816== by 0x15B9205: mongo::assembleResponse(mongo::OperationContext*, mongo::Message&, mongo::DbResponse&, mongo::HostAndPort const&) (instance.cpp:504)
|
==19816== by 0x128B8A9: mongo::MyMessageHandler::process(mongo::Message&, mongo::AbstractMessagingPort*) (db.cpp:167)
|
==19816== by 0x1B12528: mongo::PortMessageServer::handleIncomingMsg(void*) (message_server_port.cpp:227)
|
==19816== by 0x640F181: start_thread (pthread_create.c:312)
|
Attachments
Issue Links
- is related to
-
SERVER-18266 Standardize token-length limits between RLP and Snowball
-
- Closed
-
-
SERVER-21165 Leak in QueryPlannerAccess::makeLeafNode
-
- Closed
-
-
SERVER-21166 Leak in getExecutorDistinct
-
- Closed
-
- related to
-
SERVER-19510 Text query parsing should be moved to TextMatchExpression::init()
-
- Closed
-