An in-range update of mongodb is breaking the build π¨
Opened this issue Β· 17 comments
The dependency mongodb was updated from 3.2.3
to 3.2.4
.
π¨ View failing branch.
This version is covered by your current version range and after updating it in your project the build failed.
mongodb is a direct dependency of this project, and it is very likely causing it to break. If other packages depend on yours, this update is probably also breaking those in turn.
Status Details
- β ci/circleci: Build Error: Your tests failed on CircleCI (Details).
Commits
The new version differs by 22 commits.
1c17b80
chore(release): 3.2.4
2059260
feat(core): update to mongodb-core v3.2.4
0afbbcc
Update README.md
c600a4e
Update README.md
fa8d952
test(changeStream): fixes flakey changeStream tests
1909e87
test(transactions): updated transactions tests to use runOn
dd82d3c
test(insert): check results returned by toJSON
3e957c1
chore(travis): test unified topology in travis
a09a2c9
style: fix prettier warning
e62b1c7
refactor: add private
_findAndModify()
function that bypasses deprecation warning for Mongoose13fd7a5
refactor(BulkOp): remove unused class
b49c596
docs(bulkOp): refactor docs to be more accurate
3b3edb8
refactor(BulkOp): remove code that is not used
9421116
refactor(BulkOp): refactor bulk op code to remove redundancies
f548bd7
fix(BulkOp): run unordered bulk ops in serial
There are 22 commits in total.
See the full diff
FAQ and help
There is a collection of frequently asked questions. If those donβt help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot π΄
After pinning to 3.2.3 your tests are still failing. The reported issue might not affect your project. These imprecisions are caused by inconsistent test results.
- The
dependency
mongodb was updated from3.2.7
to3.3.0
.
Your tests are passing again with this update. Explicitly upgrade to this version π
Commits
The new version differs by 1878 commits.
8b3c3b0
chore(release): 3.3.0
0d2018c
docs(AutoEncryption): adds documentation for extraOptions
3ecda98
docs(autoEncryption): document that autoEncryption is in beta
814a4cc
chore(useUnifiedTopology): add deprecation warning for useUnifiedTopology
b7308db
test: disable some failing tests for later investigation
b23e606
test(transactions): disable invalid pinning test
82a7a6e
chore(travis): add 4.2 testing to travis
392f5a6
fix(topology): add new error for retryWrites on MMAPv1
2ef8f2c
chore(ci): update evergreen config to test Ubuntu 18.04 on mongodb >= 4.2
ae729f8
refactor(change-stream): use
AggregateOperation
for stream cursor831968d
refactor(cursor): return operation readPreference with priority
1ffe9b7
refactor(client): provide default namespace and read preference
778928f
refactor(command): support full response as command op option
6acef6d
refactor(find): use
FindOperation
for finds0f88582
refactor(cursor): modernize and deduplicate cursor classes
There are 250 commits in total.
See the full diff
- The
dependency
mongodb was updated from3.3.0
to3.3.1
.
Your tests are passing again with this update. Explicitly upgrade to this version π
- The
dependency
mongodb was updated from3.3.1
to3.3.2
.
Your tests are passing again with this update. Explicitly upgrade to this version π
- The
dependency
mongodb was updated from3.3.2
to3.3.3
.
Your tests are passing again with this update. Explicitly upgrade to this version π
Commits
The new version differs by 2044 commits.
f326744
chore(release): 3.3.3
4cdb950
Revert "feat(Update): add the ability to specify a pipeline to an update command (#2017)"
558d4fb
test: simply access to required topology directive
8e5391d
test: remove deprecated test runner filters
0a98aa4
test: don't throw errors in
eachAsync
in new test runneree15ea0
refactor(monitoring): hoist
Server
constants out of monitor code8a4de3f
test: remove legacy code for no longer existant server bug
7b8dcbf
test: remove accidentally committed debug code
33744f5
test: remove duplicate configuration code
3fe378a
chore: reenable linting as part of
test
script6fc750e
chore: remove dependency on
mongodb-test-runner
8ccea97
test(es-next): ensure inventory collection is already created
c5f1558
test: add configuration for evergreen
b6f356d
test:
close
=>destroy
6eb2e16
test: check that servers exist before coercing them into an array
There are 250 commits in total.
See the full diff
- The
dependency
mongodb was updated from3.3.3
to3.3.4
.
Your tests are passing again with this update. Explicitly upgrade to this version π
Release Notes for v3.3.4
The MongoDB Node.js team is pleased to announce version 3.3.4 of the driver
Release Highlights
This release primary consists of improvements to the "unified topology". In particular, a regression with interaction between the connection pool and topology could result in servers which "go away" (due to network error, for example) would not return, resulting in a MongoTimeoutError
.
Release Notes
Bug
- [NODE-2123] - MaxListenersExceededWarning caused by topologyDescriptionChanged
- [NODE-2214] - Incorrect removal of Unknown server type from ReplicaSetNoPrimary topology
- [NODE-2234] - isConnected() takes legacy path with useUnifiedTopology
- [NODE-2251] - `useUnifiedTopology` continuously emits 'close' event when replica set member is down
- [NODE-2268] - Legacy SDAM ReplSet topology reports incorrect topology ID
- [NODE-2270] - Servers are not removed from unknownServer list, leaking
- [NODE-2274] - Unified topology never regains nodes which temporarily go down
- [NODE-2277] - Unhandled error when server is offline
Improvement
- [NODE-1517] - normalize state management across all stateful types
- [NODE-2257] - Introduce ServerDescription equality to reduce SDAM events
- [NODE-2263] - support ability to pass hint to update
- [NODE-2276] - Add SDAM test for debouncing topology description updates
- [NODE-2280] - Integrate a state machine into the unified topology
- [NODE-2309] - Document the design and rationale of the unified topology
- [NODE-2316] - Correct client metadata for unified topology
Commits
The new version differs by 2135 commits.
ce60476
chore(release): 3.3.4
d126665
fix(topology): report unified topology as
nodejs
0a22e3f
test: allow values other than
true
for unified filterd38a6b6
refactor(topology): always ensure
useUnifiedTopology
is present7dc7cb8
test: support only passing options to
configuration.newTopology
5f6a787
fix(connect): prevent multiple callbacks in error scenarios
ba123a6
refactor: support a factory type in
connect
51e8807
doc: introduce documentation about the unified topology design
0c1114d
refactor(topology): report topology state for helper methods
b493e1b
chore(release): 3.3.4-rc0
edb1335
fix(topology): set max listeners to infinity for db event relay
29e5ef7
test: disable historically flakey test until we can triage the cause
63e8fb5
chore: remove evergreen targets that don't run newer node versions
06398a3
test: use a universally supported invalid query
6475fd9
test: test multiple possible projection error messages
There are 250 commits in total.
See the full diff
- The
dependency
mongodb was updated from3.3.4
to3.3.5
.
Your tests are passing again with this update. Explicitly upgrade to this version π
Commits
The new version differs by 2161 commits.
6930e12
chore(release): 3.3.5
b0f83b8
refactor: notify when attempting to use deprecated events/options
3b076b3
fix(cursor): call
initialize
after session support check3471c28
fix(pool): support a
drain
event for use with unified topologyc24eb91
test: add a color for workload messages to
sdam_viz
261f1e5
fix(topology): don't drain iteration timers on server selection
b425fe5
refactor(topology): remove extra timers around selection monitoring
2d976bd
fix(topology): correct logic for checking for sessions support
4d2bd6e
test: remove use of
format
in max staleness tests28a944b
refactor: minor modification to the workload generator for sdam_viz
a95347a
refactor: use named exports for all SDAM types
38d5ed8
test: add support for a simulated read workload to
sdam_viz
be0d36e
refactor: explicitly disallow selection if topology is closed
f07a03f
test: add unit tests for
selectServers
methodf597e52
refactor(monitoring): simplify logic for rescheduling monitoring
There are 250 commits in total.
See the full diff
- The
dependency
mongodb was updated from3.3.5
to3.4.0
.
Your tests are passing again with this update. Explicitly upgrade to this version π
Commits
The new version differs by 2277 commits.
ff95a2f
chore(release): 3.4.0
e6ff085
test: only test CSFLE on LTS versions of node
13bb49c
chore: update
mongodb-client-encryption
to 1.0.0 in testing8588e57
style: correct linting issues introduced with prettier update
0e48300
style: update to newest version of prettier
b573fe1
refactor: translate modern tls options to ssl, update documentation
806cd62
fix(scram): verify server digest, ensuring mutual authentication
cb107a8
fix: add calculated duration to server as
roundTripTime
faab9ad
chore: fix name of atlas connectivity tests
afb125f
fix(srv-poller): always provide a valid number for
intervalMS
8da416f
chore: move srv polling tests to
test/unit/sdam
b9b5208
refactor(pool): use cancellation token for connection establishment
2014b7b
feat: support connection establishment cancellation
8a07893
refactor: simplify
connect
, reuse a set for error event namesf3a8093
test: update SDAM spec tests to support multiple phases
There are 250 commits in total.
See the full diff
- The
dependency
mongodb was updated from3.4.0
to3.4.1
.
Your tests are passing again with this update. Explicitly upgrade to this version π
Release Notes for v3.4.1
The MongoDB Node.js team is pleased to announce version 3.4.1 of the driver
Release Highlights
This is a patch release addressing two regressions introduced in bulk writes and SCRAM authentication.
Release Notes
Bug
Commits
The new version differs by 2282 commits.
bc93598
chore(release): 3.4.1
e46a70e
fix: always check for network errors during SCRAM conversation
e44f553
chore: update google analytics code
20800ac
fix(bulk): use original indexes as map for current op index
3f34e3e
doc: update version for doc generation
ff95a2f
chore(release): 3.4.0
e6ff085
test: only test CSFLE on LTS versions of node
13bb49c
chore: update
mongodb-client-encryption
to 1.0.0 in testing8588e57
style: correct linting issues introduced with prettier update
0e48300
style: update to newest version of prettier
b573fe1
refactor: translate modern tls options to ssl, update documentation
806cd62
fix(scram): verify server digest, ensuring mutual authentication
cb107a8
fix: add calculated duration to server as
roundTripTime
faab9ad
chore: fix name of atlas connectivity tests
afb125f
fix(srv-poller): always provide a valid number for
intervalMS
There are 250 commits in total.
See the full diff
- The
dependency
mongodb was updated from3.4.1
to3.5.0
.
Your tests are passing again with this update. Explicitly upgrade to this version π
Release Notes for v3.5.0
The MongoDB Node.js team is pleased to announce version 3.5.0 of the driver
Release Highlights
CMAP-compliant Connection Pool
This release introduces a modern replacement for the driver's connection pool, available only with the
unified topology. A major effort was made in early 2019 to fully specifiy connection pools for MongoDB
drivers (see: CMAP specification), and this release brings the Node.js driver in line with that
specification.
Traceability
The new pool supports monitoring for all aspects of its behavior. This allows deep introspection into
the operation of the connection pool, as well as an ability to profile the lifetime of an operation
when used in conjunction with command monitoring.
Stream-first Connection Design
The Connection
class was completely rewritten for the new pool adopting a stream-first mentality. All
wire message processing and compression is handled in a duplex stream called the MessageStream
, and
that stream is connected bidirectionally to the underlaying TCP socket. The result is a connection which
gains the general benefit of streams: better performance, less memory pressure, backpressure support. It
also opens the possiblity of supporting non-TCP/UDP streams as a transport for the driver.
waitQueueTimeoutMS
The new connection pool has a concept of a "wait queue", which allows operation requests to buffer waiting
for a connection to execute against. There is no timeout by default, but users can now specify a new value
waitQueueTimeoutMS
in their connection string or MongoClient
options to proactively cancel operations
that have waited too long.
Remember that the new connection pool is only available for the "Unified Topology", so remember to pass
useUnifiedTopology: true
to your MongoClient
constructor to use it!
Dedicated monitoring thread
Both the legacy and unified SDAM implementations have until now executed monitoring checks as priority
messages in the legacy Pool implementation. This means that monitoring (ismaster
) operations were
prioritized over other queued operations, but also means that monitoring could be indefinitely blocked,
in particular during failover or blackhole scenarios. The default socket timeout is null
(read: Infinity),
so if the pool was completely saturated with operations, there may be no ability to execute a monitoring
check and determine that the connection to a server was no longer valid. This version of the driver
introduces a new Monitor
class which manages its own dedicated monitoring socket to each known
node.
Server selection errors
In v3.3.0 of the driver we introduced a new MongoTimeoutError
for all errors covered by the server
selection loop, leading to a spike in bug reports with a title similar to Server selection timed out after 30000ms
.
Even though the error type itself had an attached reason
field, we still feel it was easy to miss why
the selection had failed. As a result we have introduced a new type MongoServerSelectionError
which
will use the originating error (reason
) for its message, better informing users what caused a
selection error, while still also conveying it is an error in server selection.
Release Notes
New Feature
- [NODE-1742] - Implement Connection Monitoring and Pooling spec
- [NODE-2386] - Use a dedicated monitoring thread
Bug
- [NODE-2400] - Synchronous errors are swallowed by executeOperation
- [NODE-2417] - Server descriptions with me mismatch from primary response should be removed
- [NODE-2418] - client platform not sent in metadata for CMAP connections
Improvement
- [NODE-1619] - Remove wasteful empty Buffer allocations in `Connection`
- [NODE-2049] - Add "connectionError" as a valid "reason" for a ConnectionCheckOutFailedEvent when connection set up fails
- [NODE-2397] - Make server selection errors more informative
- [NODE-2402] - Integrate CMAP connection pool into unified topology
- [NODE-2419] - Improve traceability of CMAP events
- [NODE-2033] - Ignore ConnectionReadyEvent in CMAP pool creation test
Commits
The new version differs by 2413 commits.
8991285
chore(release): 3.5.0
ea56625
chore:
waitQueueTimeoutMS
is a valid connection string optiona630389
refactor: wait until server destroyed before stopping event relay
c04a520
doc: add basic documentation for CMAP event monitoring
c01bf50
refactor: don't encode type name into public CMAP event types
1aea4de
feat: relay all CMAP events to MongoClient
ed8c9d4
refactor: warn on use of deprecated SDAM events in unified mode
7e64df7
test: reduce flakiness of objectid test which checks by time
0715a36
doc: add documentation for CMAP events and errors
9bd360c
feat: include
connectionId
for APM with new CMAP connection pool9541410
test: ignore ismaster events in change streams spec tests
ec3d87b
test: allow all test files to use custom chai mongodb spec matcher
35d0274
fix: report the correct platform in client metadata
c528a66
Revert "fix: remove servers with me mismatch in
updateRsFromPrimary
"903208f
Revert "test: include auth information in generated test connection string"
There are 250 commits in total.
See the full diff
- The
dependency
mongodb was updated from3.5.0
to3.5.1
.
Your tests are passing again with this update. Explicitly upgrade to this version π
- The
dependency
mongodb was updated from3.5.2
to3.5.3
.
Your tests are passing again with this update. Explicitly upgrade to this version π
- The
dependency
mongodb was updated from3.5.3
to3.5.4
.
Your tests are passing again with this update. Explicitly upgrade to this version π
Release Notes for v3.5.4
The MongoDB Node.js team is pleased to announce version 3.5.4 of the driver
Release Highlights
Regression in hasNext
when piping a cursor
Pierre Mallet and @Sintendo helped identify a regression with our cursors which did not
properly rewind a cursor when hasNext
was called before the cursor was piped.
Regression in server selection queue processing
A change introduced in v3.5.3 converted the server selection loop from a loop with timers
to a queue of callbacks. A subtle bug was introduced to the code to process the quere where
the upper bound of a for loop was using a dynamically decreasing length, leading to some
operations being ignored, and ultimately timing out. Many thanks to Frederic Maillasson,
@paulrobinson, and @adityapatadia for helping uncover this issue
Only ensure minimum connection pool size if a size is specified
User @millerick submitted a PR short circuiting the background task for ensuring a minimum
pool size if no minimum size was set.
Release Notes
Bug
- [NODE-2454] - Cursor.hasNext() seems to consume first document when the cursor is piped in a writable stream
- [NODE-2464] - max election ID comparison uses invalid comparison for tracking
- [NODE-2466] - Driver does not seem to properly recover from a long disconnection with primary server
- [NODE-2467] - MongoServerSelectionError when using useUnifiedTopology: true
Improvement
- [NODE-2459] - Do not run minimum connection size task if there is no minimum pool size
Commits
The new version differs by 2455 commits.
582d3e2
chore(release): 3.5.4
e08b358
chore: disable test using CodeWScope with a
$where
clause3dd726c
chore: upate EVG macos runs to use 10.14 boxes
494dffb
fix(topology): enter
STATE_CLOSING
before draining waitQueuebf701d6
fix(topology): ensure selection wait queue is always processed
361bc1e
refactor: remove SKIP_SESSION aspect
f6a8ceb
refactor: use
maybePromise
for allMongoClient
fake operations6f71507
chore: move sdam spec unit tests from
unit/core
tounit/sdam
a1e0849
fix(sdam): use ObjectId comparison to track maxElectionId
2d1b713
fix(cmap): don't run min connection thread if no minimum specified
f8694f5
refactor: remove
nextObject
helper, inline code in cusror classbb359a1
fix: don't consume first document when calling
hasNext
on cursorc56ff72
test: add test for
hasNext
not consuming first document in stream76333fc
refactor: use
maybePromise
instead of fake operationsac9e4c9
feat: add utility helper for returning promises or using callbacks
There are 250 commits in total.
See the full diff
- The
dependency
mongodb was updated from3.5.4
to3.5.5
.
Your tests are passing again with this update. Explicitly upgrade to this version π
Release Notes for v3.5.5
The MongoDB Node.js team is pleased to announce version 3.5.5 of the driver
Release Highlights
Regression in hasNext
when using a cursor with a limit
@peterbroadhurst helped point out a regression introduced in v3.5.4 where using hasNext
on a cusor with a limit would not return the full set of results.
Ignored topology updates cause servers to fall out of latency window
A change introduced across all MongoDB drivers, and in particular v3.5.0 of the Node.js
driver, attempted to prevent needless duplicate topologyDescriptionChanged
topology events
by introducing a ServerDescription
equality operator. Since equality does not take the
lastUpdateTime
and lastWriteDate
fields of an ismaster into account, the driver could
eventually consider servers non-suitable for server selection, since they would fall out
of the latency window.
All updates are considered viable for topology updates now, and only event emission is
gated by ServerDescription
equality.
Memory leaks with Node.js v12+
The legacy topology types (in particular if you were connected to a replic set) used a
custom Timeout
class to wrap a timer. Unfortunately, the class depended on an undocumented,
private variable _called
, which was removed in Node.js v12. This would lead to the driver
thinking the timeout never occurred, and therefore never releasing the object for garbage
collection. We recommend users of the legacy topology types immediately update to this
version of the driver, or use the Unified Topology which is unaffected by this bug.
TypeError: Cannot read property 'Symbol(cancelled)' of undefined
@erfanium and @Paic helped us identify an issue in rare failover events where multiple
requests to process the server selection queue would result in an attempted property
access of an undefined
variable.
promiseLibrary
not respected by newly introduced maybePromise
helper
@TobyEalden pointed out that an internal refactor to use a helper to optionally
return a Promise
for top level API methods was not, in fact, using a custom
promise library if one was provided!
Thanks very much to all the community members who contributed to this release!
Release Notes
Bug
- [NODE-2460] - Memory Leak with ReplSet and NodeJS v12
- [NODE-2472] - TypeError on server available with useUnifiedTopology: true
- [NODE-2474] - Server_Description update with lastUpdateTime / lastWriteDate fields is ignored in topology
- [NODE-2480] - TypeError after reconnecting
- [NODE-2483] - Regression using hasNext on cursor with limit
- [NODE-2490] - promiseLibrary option is not honoured
Commits
The new version differs by 2466 commits.
d7ac176
chore(release): 3.5.5
f69f51c
fix: multiple concurrent attempts to process the queue may fail
cde11ec
fix: pass optional promise lib to maybePromise
0c36a32
NODE-2474: update equal server description (#2260)
6b3b64d
test: ensure mock server is setup before continuing with tests
6238c84
fix: correctly use template string for connection string error message
44097c2
test: use a reduced
minHeartbeatFrequencyMS
for spec test runneref04d00
fix(cursor): hasNext consumes documents on cursor with limit
b72fefe
docs: update community links to use MongoDB Community forums
e7dd608
docs: fix typo and formatting of bulletted lists
3ddaa3e
fix: don't depend on private node api for
Timeout
wrapper582d3e2
chore(release): 3.5.4
e08b358
chore: disable test using CodeWScope with a
$where
clause3dd726c
chore: upate EVG macos runs to use 10.14 boxes
494dffb
fix(topology): enter
STATE_CLOSING
before draining waitQueue
There are 250 commits in total.
See the full diff
- The
dependency
mongodb was updated from3.5.5
to3.5.6
.
Your tests are passing again with this update. Explicitly upgrade to this version π
Release Notes for v3.5.6
The MongoDB Node.js team is pleased to announce version 3.5.6 of the driver
Release Highlights
Regression in map
when cursor used as a stream
@dobesv helped identify a regression where a map function would be applied twice
if defined on a cursor, and that cursor was used to stream data.
TypeError: Cannot read property 'code' of undefined
User @linus-hologram originally reported an issue with a TypeError when the lambda
passed to the withTransaction
helper rejected with a null
value. @vkarpov15
submitted the fix.
readPreferenceTags
interpreted as an array
A bug was fixed where readPreferenceTags
with a single value in the connection
string was not properly interpreted as an array of tags. This prevented the
Use Analytics Nodes to Isolate Workload guidance from working
correctly.
Cannot set property 'isDirty' of null
User @sean-daley reported seeing this in an AWS Lambda environment, but has proven to
be somewhat of a heisenbug. We are rolling out a fix here that ensures sessions
(implicit or not) are not used after they have been explicitly ended.
Thanks very much to all the community members who contributed to this release!
Release Notes
Bug
- [NODE-2503] - Cursor ReadStream applies map function twice
- [NODE-2515] - TypeError when transaction is rejected with empty reason
- [NODE-2541] - readPreferenceTags are not interpreted as an array
- [NODE-2545] - Cannot set property 'isDirty' of null
- [NODE-2549] - Unknown topology should return empty array for server selection with read preference
Commits
The new version differs by 2480 commits.
08e89c0
chore(release): 3.5.6
e43d39a
chore: require bson 1.1.4 or higher
a6f6da0
test: wait for mock server creation before using it
611be8d
fix: only mark server session dirty if the client session is alive
7403e31
docs: Fix typo in Collection#find param
f9e786a
fix: always return empty array for selection on unknown topology
d6f3001
Revert "fix: createCollection only uses listCollections in strict mode"
a50611b
fix: single
readPreferenceTags
should be parsed as an arrayd368f12
fix: createCollection only uses listCollections in strict mode
153646c
fix: don't throw if
withTransaction()
callback rejects with a null reason7778977
chore: remove superfluous build variants
a0b1c5a
chore: remove exotic build configurations
1c4cf6c
fix: polyfill for util.promisify
704f30a
fix(cursor): transforms should only be applied once to documents
d7ac176
chore(release): 3.5.5
There are 250 commits in total.
See the full diff
- The
dependency
mongodb was updated from3.5.6
to3.5.7
.
Your tests are passing again with this update. Explicitly upgrade to this version π
Release Notes for v3.5.7
The MongoDB Node.js team is pleased to announce version 3.5.7 of the driver
Release Highlights
Warning: Accessing non-existent property 'count' of module exports inside circular dependency
Work earlier this year left some dead code in our operations code, resulting in this warning message reported by multiple users. While we still have a few cycles in our codebase yet, this will quiet Node.js 14's circular dependency warnings.
Sessions are only acquired when operations are executed
Drivers use an implicit session for all operations where an explicit session is not provided. A subtle bug was introduced when session support was implemented where implicit sessions were created and assigned to operations even if they were about to sit in a queue waiting for execution. This results in the driver creating many sessions rather than reusing pooled ones. The fix is to ensure a session is only checked out of the pool when the operation is about to be written to a server.
Thanks very much to all the community members who contributed to this release!
Release Notes
Bug
- [NODE-2536] - Circular dependency in Node.js 14 nightly
- [NODE-2552] - Server session creation grows unbounded with every operation call
Improvement
Commits
The new version differs by 2492 commits.
6eb6d6c
chore(release): 3.5.7
7f1cf35
refactor(ChangeStream): use maybePromise for next/hasNext
8851a28
docs: fix event names in gridFS tutorial
8a69ed6
chore: update snappy version to fix issue with node v4
61aaa3d
doc: document options supported by the unified topology
f778ef5
test: reduce flakiness of socket timeout test
3d05a6d
fix: limit growth of server sessions through lazy acquisition
56a1b8a
fix: remove circular dependency warnings on node 14
84d2354
test: temporarily skip sharded transactions tests
0b6f813
chore: update package lock to depend on latest bson version
0665a02
test: remove replicaset topology from reIndex tests
d8bbb55
test: lint the driver in a single evergreen task
08e89c0
chore(release): 3.5.6
e43d39a
chore: require bson 1.1.4 or higher
a6f6da0
test: wait for mock server creation before using it
There are 250 commits in total.
See the full diff
- The
dependency
mongodb was updated from3.5.7
to3.5.8
.
Your tests are passing again with this update. Explicitly upgrade to this version π
Release Notes for v3.5.8
The MongoDB Node.js team is pleased to announce version 3.5.8 of the driver
Release Highlights
Fixes for NEAREST latency window calculation
@adityapatadia helped uncover an issue with our server selection logic which
filtered out servers after evaluating whether they were in the latency window.
This meant that non-viable servers were considered during the window calculation
and would render certain viable servers unviable.
BulkWriteError writeErrors
property
@vkarpov15 submitted a patch to always include writeErrors
on a BulkWriteError
.
We have logic to set the message
of BulkWriteError
to the message of the first
error encountered if there is only one error. Unfortunately, this logic removed
the writeErrors
field when doing that, so users could be faced with an error
which conditionally changed shape.
Memory leak in timed out wait queue members
@dead-horse identified a memory leak in the new connection pool where wait queue
members which timed out might be left in the queue indefinitely under sufficient
load. The fix here was to ensure that all wait queue members are flushed during
wait queue processing before evaluating whether there were available sockets to
process new requests.
Implicit sessions cleanup improvements
Once @dead-horse was able to patch the connection pool memory leak, they also
identified a edge case where implicit sessions could be leaked in a very specific
error condition. The logic to release implicit sessions was simplified, preventing
this from happening in the future
Unordered bulk writes continue-on-error
A bug introduced last summer prevented unordered bulk write operations from
continuing after the first write error - one of the most important features of
being an unordered operation. We now properly support this feature again.
journal
in connection string is ignored
@nknighter filed a report that the journal
option was ignored when provided
via the connection string. The paramater j
was supported both through the
connection string and explicit added to MongoClient
options, but the official
documentation for connection strings support a journal
option.
Documentation
Reference: http://mongodb.github.io/node-mongodb-native/3.5/
API: http://mongodb.github.io/node-mongodb-native/3.5/api/
Changelog: https://github.com/mongodb/node-mongodb-native/blob/3.5/HISTORY.md
We invite you to try the driver immediately, and report any issues to the NODE project.
Thanks very much to all the community members who contributed to this release!
Release Notes
Bug
- [NODE-2407] - UnifiedTopology + near read makes application crash with timeout error when one of replica server is down
- [NODE-2413] - The node process enters an infinite loop at the pool and causes OOM
- [NODE-2442] - journal=true is ignored in connection string
- [NODE-2548] - Change streams do not resume from errors
- [NODE-2565] - Change stream should not check for NonResumableChangeStreamError label
- [NODE-2619] - Unordered bulk write aborts on first encountered error
- [NODE-2625] - BulkWriteError should always have a writeErrors field
Task
- [NODE-2478] - Use white list for change stream resumability
- [NODE-2598] - Change stream close refactor
- [NODE-2605] - Refactor shared test helpers to improve usability
Improvement
Commits
The new version differs by 2506 commits.
9c4288c
chore(release): 3.5.8
5c6fda1
fix: ensure implicit sessions are ended consistently
0394f9d
fix: always clear cancelled wait queue members during processing
58b4f94
fix: always include
writeErrors
on aBulkWriteError
instance6cee96b
fix: unordered bulk write should attempt to execute all batches
4faf9f5
fix: filter servers before applying reducers
5ecf18e
fix(ChangeStream): should resume from errors when iterating
7fad15a
test: improve shared helpers
246669f
fix: honor journal=true in connection string (#2359)
1e3b4c9
refactor(ChangeStream): use maybePromise for close, improve tests
5e7197a
test: ignore error for missing
killAllSessions
on legacy versions4f987f1
refactor: don't use
admin
database in CSFLE testsa9d3965
fix(ChangeStream): whitelist resumable errors (#2337)
922c3ab
test: use a different conflicting option for index error validation
6eb6d6c
chore(release): 3.5.7
There are 250 commits in total.
See the full diff