Uploaded image for project: 'Node.js Driver'
  1. Node.js Driver
  2. NODE-1913

Test Runner Connection-leaking tests

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 3.2.2
    • Affects Version/s: None
    • Component/s: Native
    • None

      Ran a leak-checker that polled the server after every test to get the connection count. the following tests showed up

        | previous | current | name |
        | -------- | ---- | ---- |
        |        9 |   10 | Aggregation should correctly execute simple aggregation pipeline using array |
        |       10 |    9 | Aggregation should not send a batchSize for aggregations with an out stage |
        |        9 |   10 | APM should support legacy `instrument`/`uninstrument` methods with MongoClient.prototype.connect |
        |       10 |   11 | APM should correctly receive the APM events for a listIndexes command |
        |       11 |   10 | APM should correctly receive the APM events for a find with getmore and killcursor |
        |       10 |   11 | APM spec tests bulkWrite A successful mixed bulk write |
        |       11 |   13 | Bulk should correctly handle ordered single batch api write command error |
        |       13 |   12 | Bulk should fail due to ordered document being to big |
        |       12 |   13 | Bulk should correctly split up ordered messages into more batches |
        |       13 |   12 | Bulk should return an error when no operations in ordered batch |
        |       12 |   13 | Bulk should correctly handle single unordered batch API |
        |       13 |   12 | Bulk should fail due to document being to big for unordered batch |
        |       12 |   13 | Bulk should correctly split up messages into more batches for unordered batches |
        |       13 |   12 | Bulk should prohibit batch finds with no selector |
        |       12 |   13 | Bulk should correctly execute unordered batch using w:0 |
        |       13 |   12 | Bulk should properly account for array key size in bulk unordered inserts |
        |       12 |   13 | Bulk should propagate the proper error from executing an empty ordered batch |
        |       13 |   14 | Bulk should propagate the proper error from executing an empty unordered batch |
        |       14 |   15 | Causal Consistency should not send `afterClusterTime` on first read operation in a causal session |
        |       15 |   18 | Change Stream Spec change-streams-errors.json Change Stream should error when an invalid aggregation stage is passed in |
        |       18 |   19 | Change Stream Spec change-streams.json $changeStream must be the first stage in a change stream pipeline sent to the server |
        |       19 |   18 | Change Streams Should create a Change Stream on a collection and emit `change` events |
        |       18 |   19 | Change Streams Should create a Change Stream on a collection and get change events through imperative callback form |
        |       19 |   20 | Change Streams Should support creating multiple simultaneous Change Streams |
        |       20 |   21 | Change Streams Should properly close Change Stream cursor |
        |       21 |   22 | Change Streams Should error when attempting to create a Change Stream with a forbidden aggrgation pipeline stage |
        |       22 |   23 | Change Streams Should cache the change stream resume token using imperative callback form |
        |       23 |   24 | Change Streams Should cache the change stream resume token using promises |
        |       24 |   25 | Change Streams Should cache the change stream resume token using event listeners |
        |       25 |   26 | Change Streams Should error if resume token projected out of change stream document using imperative callback form |
        |       26 |   27 | Change Streams Should error if resume token projected out of change stream document using event listeners |
        |       27 |   28 | Change Streams Should invalidate change stream on collection rename using event listeners |
        |       28 |   29 | Change Streams Should invalidate change stream on database drop using imperative callback form |
        |       29 |   30 | Change Streams Should invalidate change stream on collection drop using promises |
        |       30 |   31 | Change Streams Should resume from point in time using user-provided resumeAfter |
        |       31 |   32 | Change Streams Should support full document lookup |
        |       32 |   33 | Change Streams Should support full document lookup with deleted documents |
        |       33 |   34 | Change Streams Should create Change Streams with correct read preferences |
        |       34 |   35 | Change Streams Should support piping of Change Streams |
        |       35 |   36 | Change Streams Should support piping of Change Streams through multiple pipes |
        |       36 |   37 | Change Streams Should resume after a killCursors command is issued for its child cursor |
        |       37 |   38 | Change Streams Should include a startAtOperationTime field when resuming if no changes have been received |
        |       38 |   39 | Change Streams should properly handle a changeStream event being processed mid-close when invoked with promises |
        |       39 |   40 | Change Streams should properly handle a changeStream event being processed mid-close when invoked with callbacks |
        |       40 |   41 | Change Streams should properly handle a changeStream event being processed mid-close when invoked using eventEmitter API |
        |       41 |   42 | Collation cursor count method should return the correct number when used with collation set |
        |       42 |   44 | Collection should correctly execute basic collection methods |
        |       44 |   43 | Collection should fail due to illegal listCollections |
        |       43 |   44 | Collection should return invalid collection name error by callback for createCollection |
        |       44 |   43 | Collection should correctly perform estimatedDocumentCount on non-matching query |
        |       43 |   45 | Connection should correctly connect to server using just events |
        |       45 |   47 | CRUD API should correctly execute find method using crud api |
        |       47 |   46 | CRUD API should correctly execute crud operations with w:0 |
        |       46 |   47 | CRUD API should correctly execute updateOne operations with w:0 and upsert |
        |       47 |   46 | CRUD API should correctly throw error on illegal callback when ordered bulkWrite encounters error |
        |       46 |   47 | CRUD API should correctly throw error if update doc for findOneAndUpdate lacks atomic operator |
        |       47 |   48 | CRUD spec read aggregate-collation Aggregate with collation |
        |       48 |   47 | CRUD spec db db-aggregate Aggregate with $currentOp |
        |       47 |   48 | Cursor cursorShouldBeAbleToResetOnToArrayRunningQueryAgain |
        |       48 |   49 | Cursor Should correctly execute cursor count with secondary readPreference |
        |       49 |   48 | Cursor destroying a stream stops it |
        |       48 |   49 | Cursor cursor stream pipe |
        |       49 |   48 | Cursor shouldFailToSetReadPreferenceOnCursor |
        |       48 |   49 | Cursor shouldNotFailDueToStackOverflowEach |
        |       49 |   48 | Cursor should return a promise when no callback supplied to forEach method |
        |       48 |   49 | Cursor Streams should stream documents with pause and resume for fetching |
        |       49 |   50 | Cursor Streams should trigger massive amount of getMores |
        |       50 |   51 | Custom PK should create records with custom PK factory |
        |       51 |   52 | Db should callback with an error only when a MongoError |
        |       52 |   53 | Db shouldCorrectlyResaveDBRef |
        |       53 |   52 | Db shouldCorrectlyThrowWhenTryingToReOpenConnection |
        |       52 |   53 | Db shouldCorrectlyReconnectWhenError |
        |       53 |   54 | Db should not cut collection name when it is the same as the database |
        |       54 |   53 | Db should correctly execute close function in order |
        |       53 |   55 | Document Validation should allow bypassing document validation in 3.2 or higher on inserts |
        |       55 |   56 | Decimal128 shouldStayInCorrectDomainForReadCommand |
        |       56 |   55 | Decimal128 shouldStayInCorrectDomainForQueuedReadCommand |
        |       55 |   57 | Find and Modify should pass through writeConcern to all findAndModify commands at command level |
        |       57 |   58 | Find shouldCorrectlyPerformSimpleFind |
        |       58 |   57 | Find Should correctly pass timeout options to cursor |
        |       57 |   58 | Find shouldCorrectlyFindAndModifyDocumentWithDBStrict |
        |       58 |   57 | Find Should not use a session when using parallelCollectionScan |
        |       57 |   58 | Find Should correctly sort using text search on 2.6 or higher in find |
        |       58 |   57 | Find shouldNotMutateUserOptions |
        |       57 |   58 | Find Should correctly execute parallelCollectionScan with single cursor emitting raw buffers and close |
        |       58 |   59 | GridFS shouldCorrectlySafeFileAndReadFileByObjectId |
        |       59 |   58 | GridFS shouldCorrectlyHandleMultipleChunkGridStore |
        |       58 |   59 | GridFS shouldCorrectlyHandleUnlinkingWeirdName |
        |       59 |   58 | GridFS shouldSaveSmallFileToGridStore |
        |       58 |   59 | GridFS shouldCorrectlyOverwriteFile |
        |       59 |   58 | GridFS shouldEnsureChunkSizeCannotChangeAfterDataHasBeenWritten |
        |       58 |   59 | GridFS shouldCorrectlyStore8bitValues |
        |       59 |   58 | GridFS shouldCorrectlyReportIllegalMode |
        |       58 |   59 | GridFS shouldCorrectlySaveAndRetrieveFileMetadata |
        |       59 |   61 | GridFS should correctly seek on file where size of file is a multiple of the chunk size |
        |       61 |   60 | GridFS should correctly seek on file where size of file is a multiple of the chunk size and then stream |
        |       60 |   63 | GridFS should correctly write fake png to gridstore |
        |       63 |   60 | Indexes shouldCorrectlyExtractIndexInformation |
        |       60 |   61 | Insert shouldCorrectlyPerformSingleInsert |
        |       61 |   60 | Insert shouldCorrectlySerializeDBRefToJSON |
        |       60 |   61 | Insert shouldThrowErrorIfSerializingFunctionOrdered |
        |       61 |   60 | Insert shouldCorrectlyThrowDueToIllegalCollectionName |
        |       60 |   61 | Insert shouldCorrectlyHonorPromoteLongFalseNativeBSON |
        |       61 |   62 | ES2017 examples(transactions): Transactions Retry Example 1 |
        |       62 |   64 | MapReduce shouldCorrectlyExecuteGroupFunctionWithFinalizeFunction |
        |       64 |   65 | Unicode Should Correctly respect the maxtimeMs property on count |
        |       65 |   66 | MongoClient Should fail to connect due to instances not being mongos proxies |
        |       66 |   68 | Multiple Databases shouldCorrectlyUseSameConnectionsForTwoDifferentDbs |
        |       68 |   67 | Multiple Databases should not leak listeners |
        |       67 |   69 | ObjectID shouldCorrectlyGenerateObjectID |
        |       69 |   68 | ObjectID shouldCorrectlyRetrieve24CharacterHexStringFromToString |
        |       68 |   69 | ObjectID shouldCorrectlyInsertWithObjectId |
        |       69 |   70 | Operation Examples aggregationExample1 |
        |       70 |   69 | Operation Examples accessAdminLevelOperations |
        |       69 |   70 | Operation Examples shouldCorrectlyAccessACollection |
        |       70 |   69 | Operation Examples Should correctly connect with default replicasetNoOption |
        |       69 |   70 | Operation Examples should correctly list all available databases |
        |       70 |   69 | Operation Examples shouldCorrectlyGenerate12ByteStringFromTimestamp |
        |       69 |   70 | Operation Examples shouldCorrectlyExecuteGridStoreExistsByObjectId |
        |       70 |   69 | Operation Examples shouldCorrectlyDetectEOF |
        |       69 |   70 | Operation Examples shouldCorrectlyExecuteGridstoreTell |
        |       70 |   69 | Operation Examples shouldStreamDocumentsUsingTheReadStreamResumeFunction |
        |       69 |   70 | Operation Examples Should correctly execute ordered batch with no errors using write commands |
        |       70 |   71 | Operation (Generators) shouldCorrectlyRetrievelistCollectionsWithGenerators |
        |       71 |   72 | Operation (Promises) shouldCorrectlyPerformSimpleGeoHaystackSearchCommandWithPromises |
        |       72 |   71 | Operation (Promises) Should correctly connect with default replicasetNoOption With Promises |
        |       71 |   72 | Operation (Promises) Should correctly connect to a replicaset With Promises |
        |       72 |   74 | Promises (Collection) Should correctly execute findOneAndDelete operation With Promises and no options passed in |
        |       74 |   75 | Promote Buffers should correctly honor promoteBuffers when creating an instance using Db |
        |       75 |   76 | Promote Values should correctly honor promoteValues when creating an instance using Db |
        |       76 |   77 | Raw shouldCorrectlySaveDocumentsAndReturnAsRaw |
        |       77 |   78 | ReadConcern Should set local readConcern on db level |
        |       78 |   80 | Remove should correctly clear out collection |
        |       80 |   81 | ReplSet (Operations) Should fail due to w:5 and wtimeout:1 with ordered batch api |
        |       81 |   82 | ReplSet (Operations) Should correctly execute ensureIndex with readPreference primaryPreferred |
        |       82 |   80 | Retryable Writes bulkWrite-serverErrors BulkWrite succeeds after PrimarySteppedDown |
        |       80 |   90 | Retryable Writes bulkWrite First insertOne is never committed |
        |       90 |  100 | Retryable Writes bulkWrite Second updateOne is never committed |
        |      100 |  110 | Retryable Writes bulkWrite Third updateOne is never committed |
        |      110 |  120 | Retryable Writes deleteOne DeleteOne is never committed |
        |      120 |  130 | Retryable Writes findOneAndDelete FindOneAndDelete is never committed |
        |      130 |  140 | Retryable Writes findOneAndReplace FindOneAndReplace is never committed |
        |      140 |  150 | Retryable Writes findOneAndUpdate FindOneAndUpdate is never committed |
        |      150 |  160 | Retryable Writes insertMany InsertMany fails after multiple network errors |
        |      160 |  171 | Retryable Writes insertOne-serverErrors InsertOne fails after multiple retryable writeConcernErrors |
        |      171 |  181 | Retryable Writes insertOne InsertOne is never committed |
        |      181 |  191 | Retryable Writes replaceOne ReplaceOne is never committed |
        |      191 |  201 | Retryable Writes updateOne UpdateOne is never committed |
        |      201 |  211 | Retryable Writes updateOne UpdateOne with upsert is never committed |
        |      211 |  212 | SASLPrep should be able to login with username "IX" and password "IX" |
        |      212 |  213 | SCRAM-SHA-256 auth should auth user with sha1 credentials when explicitly specifying SCRAM-SHA-1 |
        |      213 |  214 | Sessions withSession should support operations that return promises |
        |      214 |  215 | Transactions spec tests abort - replicaset abort |
        |      215 |  216 | Transactions spec tests error-labels - replicaset NotMaster errors contain transient label |
        |      216 |  218 | Transactions spec tests error-labels - replicaset add unknown commit label to retryable commit errors |
        |      218 |  220 | Transactions spec tests error-labels - replicaset add unknown commit label to writeConcernError ShutdownInProgress |
        |      220 |  221 | Transactions spec tests retryable-abort - replicaset abortTransaction succeeds after NotMaster |
        |      221 |  222 | Transactions spec tests retryable-abort - replicaset abortTransaction succeeds after NotMasterOrSecondary |
        |      222 |  223 | Transactions spec tests retryable-abort - replicaset abortTransaction succeeds after NotMasterNoSlaveOk |
        |      223 |  224 | Transactions spec tests retryable-abort - replicaset abortTransaction succeeds after InterruptedDueToStepDown |
        |      224 |  225 | Transactions spec tests retryable-abort - replicaset abortTransaction succeeds after InterruptedAtShutdown |
        |      225 |  226 | Transactions spec tests retryable-abort - replicaset abortTransaction succeeds after PrimarySteppedDown |
        |      226 |  227 | Transactions spec tests retryable-abort - replicaset abortTransaction succeeds after ShutdownInProgress |
        |      227 |  228 | Transactions spec tests retryable-abort - replicaset abortTransaction succeeds after HostNotFound |
        |      228 |  229 | Transactions spec tests retryable-abort - replicaset abortTransaction succeeds after HostUnreachable |
        |      229 |  230 | Transactions spec tests retryable-abort - replicaset abortTransaction succeeds after SocketException |
        |      230 |  231 | Transactions spec tests retryable-abort - replicaset abortTransaction succeeds after NetworkTimeout |
        |      231 |  232 | Transactions spec tests retryable-abort - replicaset abortTransaction succeeds after WriteConcernError InterruptedAtShutdown |
        |      232 |  233 | Transactions spec tests retryable-abort - replicaset abortTransaction succeeds after WriteConcernError InterruptedDueToStepDown |
        |      233 |  234 | Transactions spec tests retryable-abort - replicaset abortTransaction succeeds after WriteConcernError PrimarySteppedDown |
        |      234 |  235 | Transactions spec tests retryable-abort - replicaset abortTransaction succeeds after WriteConcernError ShutdownInProgress |
        |      235 |  236 | Transactions spec tests retryable-commit - replicaset commitTransaction succeeds after NotMaster |
        |      236 |  237 | Transactions spec tests retryable-commit - replicaset commitTransaction succeeds after NotMasterOrSecondary |
        |      237 |  238 | Transactions spec tests retryable-commit - replicaset commitTransaction succeeds after NotMasterNoSlaveOk |
        |      238 |  239 | Transactions spec tests retryable-commit - replicaset commitTransaction succeeds after InterruptedDueToStepDown |
        |      239 |  240 | Transactions spec tests retryable-commit - replicaset commitTransaction succeeds after InterruptedAtShutdown |
        |      240 |  241 | Transactions spec tests retryable-commit - replicaset commitTransaction succeeds after PrimarySteppedDown |
        |      241 |  242 | Transactions spec tests retryable-commit - replicaset commitTransaction succeeds after ShutdownInProgress |
        |      242 |  243 | Transactions spec tests retryable-commit - replicaset commitTransaction succeeds after HostNotFound |
        |      243 |  244 | Transactions spec tests retryable-commit - replicaset commitTransaction succeeds after HostUnreachable |
        |      244 |  245 | Transactions spec tests retryable-commit - replicaset commitTransaction succeeds after SocketException |
        |      245 |  246 | Transactions spec tests retryable-commit - replicaset commitTransaction succeeds after NetworkTimeout |
        |      246 |  247 | Transactions spec tests retryable-commit - replicaset commitTransaction succeeds after WriteConcernError InterruptedAtShutdown |
        |      247 |  248 | Transactions spec tests retryable-commit - replicaset commitTransaction succeeds after WriteConcernError InterruptedDueToStepDown |
        |      248 |  249 | Transactions spec tests retryable-commit - replicaset commitTransaction succeeds after WriteConcernError PrimarySteppedDown |
        |      249 |  250 | Transactions spec tests retryable-commit - replicaset commitTransaction succeeds after WriteConcernError ShutdownInProgress |
        |      250 |  252 | Transactions withTransaction spec tests commit-retry - replicaset commit is retried after commitTransaction UnknownTransactionCommitResult (NotMaster) |
        |      252 |  253 | Unicode shouldCorrectlySaveUnicodeContainingDocument |
      

            Assignee:
            daniel.aprahamian@mongodb.com Daniel Aprahamian (Inactive)
            Reporter:
            daniel.aprahamian@mongodb.com Daniel Aprahamian (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: