[SERVER-20758] Delete legacy mongos cursor manager and legacy query path Created: 05/Oct/15  Updated: 17/Nov/15  Resolved: 11/Nov/15

Status: Closed
Project: Core Server
Component/s: Querying, Sharding
Affects Version/s: None
Fix Version/s: 3.2.0-rc3

Type: Improvement Priority: Major - P3
Reporter: J Rassi Assignee: David Storch
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
related to SERVER-20194 Enable new cursor manager path in mon... Closed
related to SERVER-21418 Remove dead code from ParallelSortClu... Closed
Backwards Compatibility: Fully Compatible
Sprint: QuInt C (11/23/15)
Participants:

 Description   

The legacy mongos cursor manager (the "CursorCache") and the corresponding legacy query path are currently not used by default, though they currently remain available to the user (via --setParameter useClusterClientCursor=false). We are aiming to leave the code for this path in the server for 1-3 release candidates for a couple of reasons:

  • In case any bugs discovered during the release process require re-enabling it for certain classes of queries before a stable release is shipped.
  • To assist in performance diagnostics that compare the new path to the old path.

If no bugs are discovered, this code should be deleted before the stable release is shipped. The tasks for this ticket are as follows:

  • Delete the 'useClusterClientCursor' global and setParameter.
  • Delete the CursorCache class.
  • Remove 'incomplete' from the LIBDEPS_TAGS list for libstore_possible_cursor.


 Comments   
Comment by Githook User [ 11/Nov/15 ]

Author:

{u'username': u'dstorch', u'name': u'David Storch', u'email': u'david.storch@10gen.com'}

Message: SERVER-20758 delete s/cursors.h and s/cursors.cpp
Branch: master
https://github.com/mongodb/mongo/commit/7fc8a70cf1bdac1e28c85e043b951465648a2476

Comment by Githook User [ 11/Nov/15 ]

Author:

{u'username': u'dstorch', u'name': u'David Storch', u'email': u'david.storch@10gen.com'}

Message: SERVER-20758 remove remaining uses of CursorCache and ShardedClientCursor
Branch: master
https://github.com/mongodb/mongo/commit/2f5ab36e4c0c8dfd9d2bc0cbc45d842872050e9b

Comment by Githook User [ 11/Nov/15 ]

Author:

{u'username': u'dstorch', u'name': u'David Storch', u'email': u'david.storch@10gen.com'}

Message: SERVER-20758 delete legacy mongos query path

Also removes the useClusterClientCursor
setParameter which was used to control which query
path is active.
Branch: master
https://github.com/mongodb/mongo/commit/541489161282cee955bb32489cacfdba3c6bfe88

Comment by Githook User [ 12/Oct/15 ]

Author:

{u'username': u'jrassi', u'name': u'Jason Rassi', u'email': u'rassi@10gen.com'}

Message: SERVER-20194 SERVER-20758 Update ticket number in s/query/ comments
Branch: master
https://github.com/mongodb/mongo/commit/01dead3f2c56292f08faf5461e60e79f5ac3ba3a

Comment by J Rassi [ 05/Oct/15 ]

Per discussion, the new path is using SyncClusterConnection under the hood for the initial find, which takes care of the case where some config servers are unavailable, and we are intentionally not handling the "needs catalog swap" error from the config servers (SERVER-20694 was bumped out of 3.2 after CSRS rolling upgrade was deferred). As such, we don't believe there are any outstanding issues here that need fixing before shipping the stable release.

Comment by Kaloian Manassiev [ 05/Oct/15 ]

What happens for queries against queries against the config or admin databases on clusters backed by 'legacy' (sync cluster connection) config servers? Those cannot use the new find command logic, because they have different retry logic.

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