[SERVER-18279] lock contention in mongo::DBClientReplicaSet::getServerAddress Created: 30/Apr/15  Updated: 15/Oct/15  Resolved: 14/Oct/15

Status: Closed
Project: Core Server
Component/s: Concurrency, Internal Client
Affects Version/s: 3.0.1
Fix Version/s: 3.2.0-rc0

Type: Bug Priority: Major - P3
Reporter: Rui Zhang (Inactive) Assignee: Kaloian Manassiev
Resolution: Done Votes: 0
Labels: 32qa
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
Backwards Compatibility: Fully Compatible
Operating System: ALL
Participants:

 Description   

Test is:

  • 7 shard each with 3 member replicaset
  • traffic is 100% read (query to return single doc)
  • profiling with 3.0.1 mongos

Here is output from linux perf for mongos

-  19.95%  mongos  [kernel.kallsyms]    [k] _raw_spin_unlock_irqrestore
   - _raw_spin_unlock_irqrestore
      + 70.21% __wake_up_sync_key
      - 23.63% try_to_wake_up
           wake_up_state
           wake_futex
           futex_wake
           do_futex
           sys_futex
           system_call_fastpath
         - __lll_unlock_wake
            - 35.44% mongo::DBClientReplicaSet::getServerAddress() const
                 mongo::DBClientCursor::_finishConsInit()
                 mongo::DBClientCursor::DBClientCursor(mongo::DBClientBase*, std::string const&, mongo::BSONObj, int, int, mongo::BSONObj const*, int, int)
                 mongo::ParallelSortClusteredCursor::startInit()
                 mongo::ParallelSortClusteredCursor::fullInit()
                 mongo::Strategy::queryOp(mongo::Request&)
                 mongo::Request::process(int)
                 mongo::ShardedMessageHandler::process(mongo::Message&, mongo::AbstractMessagingPort*, mongo::LastError*)
                 mongo::PortMessageServer::handleIncomingMsg(void*)
                 start_thread



 Comments   
Comment by Kaloian Manassiev [ 14/Oct/15 ]

The ParallelSortClusteredCursor is no longer going to be used on the performance critical paths with the cluster find command being enabled by default.

Generated at Thu Feb 08 03:47:10 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.