[SERVER-28689] fix bug in drop_sharded_dbs.js where we assert.neq() on an entire array and its member Created: 07/Apr/17  Updated: 06/Dec/17  Resolved: 10/Apr/17

Status: Closed
Project: Core Server
Component/s: Sharding
Affects Version/s: 3.5.5
Fix Version/s: 3.5.6

Type: Bug Priority: Major - P3
Reporter: Esha Maharishi (Inactive) Assignee: Esha Maharishi (Inactive)
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Backwards Compatibility: Fully Compatible
Operating System: ALL
Sprint: Sharding 2017-04-17
Participants:
Linked BF Score: 0

 Description   

Presumably the assert.neq() here should be on dbs[i], not just 'dbs'.

https://github.com/mongodb/mongo/blob/73d3473f/jstests/sharding/drop_sharded_db.js#L42

    // Drop the non-suffixed db and ensure that it is the only one that was dropped.
    dbA.dropDatabase();
    var dbs = mongos.getDBNames();
    for (var i = 0; i < dbs.length; i++) {
        assert.neq(dbs, "" + dbA);
    }

Also, we should assert.commandWorked() on the dropDatabase().

Failing to assert.commandWorked() can lead to the test failing on a later line, as in BF-4953:

https://github.com/mongodb/mongo/blob/73d3473f/jstests/sharding/drop_sharded_db.js#L45

    assert.eq(0, config.databases.count({_id: dbA.getName()}));

It's particularly misleading because the for-loop with the 'dbs' bug fails to catch when the db was not actually deleted, so it seems like an issue with the count().



 Comments   
Comment by Githook User [ 10/Apr/17 ]

Author:

{u'username': u'EshaMaharishi', u'name': u'Esha Maharishi', u'email': u'esha.maharishi@mongodb.com'}

Message: SERVER-28689 fix bug in drop_sharded_dbs.js where we assert.neq() on an entire array and its member
Branch: master
https://github.com/mongodb/mongo/commit/54f2f3b1bcbf950d440daf839962630869a1a082

Generated at Thu Feb 08 04:18:48 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.