[SERVER-28049] List Databases command should apply filter on name only before database locks Created: 17/Feb/17 Updated: 05/Apr/17 Resolved: 20/Feb/17 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Storage |
| Affects Version/s: | None |
| Fix Version/s: | 3.4.3, 3.5.4 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Louisa Berger | Assignee: | Geert Bosch |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||
| Operating System: | ALL | ||||||||
| Backport Requested: |
v3.4
|
||||||||
| Sprint: | Storage 2017-03-06 | ||||||||
| Participants: | |||||||||
| Description |
|
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 |
| Comments |
| Comment by Githook User [ 03/Mar/17 ] |
|
Author: {u'username': u'GeertBosch', u'name': u'Geert Bosch', u'email': u'geert@mongodb.com'}Message: (cherry picked from commit ef5a80fb0f1900d3e82dc8c60a536f17dd4d1268) |
| Comment by Githook User [ 20/Feb/17 ] |
|
Author: {u'username': u'GeertBosch', u'name': u'Geert Bosch', u'email': u'geert@mongodb.com'}Message: |