...
BugZero found this defect 2869 days ago.
Right now, the listDatabases command checks for locks on each database (https://github.com/mongodb/mongo/blob/d7bd800d3d06004c4ca9114627ee882442e4d5e4/src/mongo/db/commands/list_databases.cpp#L129-L146) before actually checking the filter on the query (https://github.com/mongodb/mongo/blob/d7bd800d3d06004c4ca9114627ee882442e4d5e4/src/mongo/db/commands/list_databases.cpp#L148-L151). This means that if any user is doing a command that takes a lock on database a, (i.e. building an index), no one can run a listDatabase command, even if they've used a filter that should exclude database a. cc geert.bosch
xgen-internal-githook commented on Fri, 3 Mar 2017 23:48:25 +0000: Author: {u'username': u'GeertBosch', u'name': u'Geert Bosch', u'email': u'geert@mongodb.com'} Message: SERVER-28049 Apply name-only filters before locking in listDatabases (cherry picked from commit ef5a80fb0f1900d3e82dc8c60a536f17dd4d1268) Branch: v3.4 https://github.com/mongodb/mongo/commit/41ca3715262d3411bf2dad031318bea92795288a xgen-internal-githook commented on Mon, 20 Feb 2017 02:43:55 +0000: Author: {u'username': u'GeertBosch', u'name': u'Geert Bosch', u'email': u'geert@mongodb.com'} Message: SERVER-28049 Apply name-only filters before locking in listDatabases Branch: master https://github.com/mongodb/mongo/commit/ef5a80fb0f1900d3e82dc8c60a536f17dd4d1268