mongodb 6.8.0-dev.20240905.sha.65e0e15c → 6.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (246) hide show
  1. package/README.md +1 -14
  2. package/lib/bson.js +13 -4
  3. package/lib/bson.js.map +1 -1
  4. package/lib/bulk/common.js +21 -16
  5. package/lib/bulk/common.js.map +1 -1
  6. package/lib/bulk/ordered.js.map +1 -1
  7. package/lib/bulk/unordered.js.map +1 -1
  8. package/lib/change_stream.js +8 -10
  9. package/lib/change_stream.js.map +1 -1
  10. package/lib/client-side-encryption/auto_encrypter.js +3 -14
  11. package/lib/client-side-encryption/auto_encrypter.js.map +1 -1
  12. package/lib/client-side-encryption/client_encryption.js +7 -25
  13. package/lib/client-side-encryption/client_encryption.js.map +1 -1
  14. package/lib/client-side-encryption/crypto_callbacks.js +6 -6
  15. package/lib/client-side-encryption/crypto_callbacks.js.map +1 -1
  16. package/lib/client-side-encryption/mongocryptd_manager.js +5 -9
  17. package/lib/client-side-encryption/mongocryptd_manager.js.map +1 -1
  18. package/lib/client-side-encryption/providers/aws.js +2 -1
  19. package/lib/client-side-encryption/providers/aws.js.map +1 -1
  20. package/lib/client-side-encryption/providers/azure.js +5 -5
  21. package/lib/client-side-encryption/providers/azure.js.map +1 -1
  22. package/lib/client-side-encryption/providers/gcp.js +2 -1
  23. package/lib/client-side-encryption/providers/gcp.js.map +1 -1
  24. package/lib/client-side-encryption/providers/index.js +3 -2
  25. package/lib/client-side-encryption/providers/index.js.map +1 -1
  26. package/lib/client-side-encryption/state_machine.js +4 -9
  27. package/lib/client-side-encryption/state_machine.js.map +1 -1
  28. package/lib/cmap/auth/auth_provider.js.map +1 -1
  29. package/lib/cmap/auth/aws_temporary_credentials.js.map +1 -1
  30. package/lib/cmap/auth/gssapi.js +4 -4
  31. package/lib/cmap/auth/gssapi.js.map +1 -1
  32. package/lib/cmap/auth/mongo_credentials.js.map +1 -1
  33. package/lib/cmap/auth/mongocr.js.map +1 -1
  34. package/lib/cmap/auth/mongodb_aws.js.map +1 -1
  35. package/lib/cmap/auth/mongodb_oidc/automated_callback_workflow.js.map +1 -1
  36. package/lib/cmap/auth/mongodb_oidc/azure_machine_workflow.js.map +1 -1
  37. package/lib/cmap/auth/mongodb_oidc/callback_workflow.js +2 -0
  38. package/lib/cmap/auth/mongodb_oidc/callback_workflow.js.map +1 -1
  39. package/lib/cmap/auth/mongodb_oidc/command_builders.js +3 -2
  40. package/lib/cmap/auth/mongodb_oidc/command_builders.js.map +1 -1
  41. package/lib/cmap/auth/mongodb_oidc/gcp_machine_workflow.js.map +1 -1
  42. package/lib/cmap/auth/mongodb_oidc/human_callback_workflow.js.map +1 -1
  43. package/lib/cmap/auth/mongodb_oidc/machine_workflow.js +2 -0
  44. package/lib/cmap/auth/mongodb_oidc/machine_workflow.js.map +1 -1
  45. package/lib/cmap/auth/mongodb_oidc/token_cache.js.map +1 -1
  46. package/lib/cmap/auth/mongodb_oidc/token_machine_workflow.js.map +1 -1
  47. package/lib/cmap/auth/mongodb_oidc.js.map +1 -1
  48. package/lib/cmap/auth/plain.js.map +1 -1
  49. package/lib/cmap/auth/scram.js.map +1 -1
  50. package/lib/cmap/auth/x509.js.map +1 -1
  51. package/lib/cmap/command_monitoring_events.js.map +1 -1
  52. package/lib/cmap/commands.js +5 -62
  53. package/lib/cmap/commands.js.map +1 -1
  54. package/lib/cmap/connect.js +7 -9
  55. package/lib/cmap/connect.js.map +1 -1
  56. package/lib/cmap/connection.js +5 -3
  57. package/lib/cmap/connection.js.map +1 -1
  58. package/lib/cmap/connection_pool.js +9 -11
  59. package/lib/cmap/connection_pool.js.map +1 -1
  60. package/lib/cmap/connection_pool_events.js +3 -7
  61. package/lib/cmap/connection_pool_events.js.map +1 -1
  62. package/lib/cmap/handshake/client_metadata.js +5 -5
  63. package/lib/cmap/handshake/client_metadata.js.map +1 -1
  64. package/lib/cmap/metrics.js +1 -1
  65. package/lib/cmap/metrics.js.map +1 -1
  66. package/lib/cmap/stream_description.js.map +1 -1
  67. package/lib/cmap/wire_protocol/compression.js +5 -5
  68. package/lib/cmap/wire_protocol/compression.js.map +1 -1
  69. package/lib/cmap/wire_protocol/constants.js +2 -2
  70. package/lib/cmap/wire_protocol/on_data.js +2 -1
  71. package/lib/cmap/wire_protocol/on_data.js.map +1 -1
  72. package/lib/cmap/wire_protocol/on_demand/document.js +3 -12
  73. package/lib/cmap/wire_protocol/on_demand/document.js.map +1 -1
  74. package/lib/cmap/wire_protocol/responses.js +15 -6
  75. package/lib/cmap/wire_protocol/responses.js.map +1 -1
  76. package/lib/cmap/wire_protocol/shared.js +3 -2
  77. package/lib/cmap/wire_protocol/shared.js.map +1 -1
  78. package/lib/collection.js.map +1 -1
  79. package/lib/connection_string.js +5 -10
  80. package/lib/connection_string.js.map +1 -1
  81. package/lib/constants.js +0 -1
  82. package/lib/constants.js.map +1 -1
  83. package/lib/cursor/abstract_cursor.js +16 -25
  84. package/lib/cursor/abstract_cursor.js.map +1 -1
  85. package/lib/cursor/aggregation_cursor.js +2 -2
  86. package/lib/cursor/aggregation_cursor.js.map +1 -1
  87. package/lib/cursor/change_stream_cursor.js.map +1 -1
  88. package/lib/cursor/find_cursor.js +4 -4
  89. package/lib/cursor/find_cursor.js.map +1 -1
  90. package/lib/db.js +1 -1
  91. package/lib/db.js.map +1 -1
  92. package/lib/deps.js +8 -16
  93. package/lib/deps.js.map +1 -1
  94. package/lib/encrypter.js.map +1 -1
  95. package/lib/error.js +14 -19
  96. package/lib/error.js.map +1 -1
  97. package/lib/explain.js.map +1 -1
  98. package/lib/gridfs/download.js +4 -1
  99. package/lib/gridfs/download.js.map +1 -1
  100. package/lib/gridfs/index.js +1 -1
  101. package/lib/gridfs/index.js.map +1 -1
  102. package/lib/gridfs/upload.js +4 -0
  103. package/lib/gridfs/upload.js.map +1 -1
  104. package/lib/index.js +2 -4
  105. package/lib/index.js.map +1 -1
  106. package/lib/mongo_client.js +1 -15
  107. package/lib/mongo_client.js.map +1 -1
  108. package/lib/mongo_client_auth_providers.js.map +1 -1
  109. package/lib/mongo_logger.js +8 -8
  110. package/lib/mongo_logger.js.map +1 -1
  111. package/lib/mongo_types.js +0 -1
  112. package/lib/mongo_types.js.map +1 -1
  113. package/lib/operations/aggregate.js +0 -1
  114. package/lib/operations/aggregate.js.map +1 -1
  115. package/lib/operations/bulk_write.js.map +1 -1
  116. package/lib/operations/collections.js.map +1 -1
  117. package/lib/operations/command.js +1 -1
  118. package/lib/operations/command.js.map +1 -1
  119. package/lib/operations/count.js.map +1 -1
  120. package/lib/operations/create_collection.js.map +1 -1
  121. package/lib/operations/delete.js +2 -2
  122. package/lib/operations/delete.js.map +1 -1
  123. package/lib/operations/distinct.js.map +1 -1
  124. package/lib/operations/drop.js.map +1 -1
  125. package/lib/operations/estimated_document_count.js.map +1 -1
  126. package/lib/operations/execute_operation.js +109 -111
  127. package/lib/operations/execute_operation.js.map +1 -1
  128. package/lib/operations/find.js.map +1 -1
  129. package/lib/operations/find_and_modify.js +8 -2
  130. package/lib/operations/find_and_modify.js.map +1 -1
  131. package/lib/operations/get_more.js.map +1 -1
  132. package/lib/operations/indexes.js.map +1 -1
  133. package/lib/operations/insert.js.map +1 -1
  134. package/lib/operations/is_capped.js.map +1 -1
  135. package/lib/operations/kill_cursors.js.map +1 -1
  136. package/lib/operations/list_collections.js.map +1 -1
  137. package/lib/operations/list_databases.js.map +1 -1
  138. package/lib/operations/operation.js +5 -5
  139. package/lib/operations/operation.js.map +1 -1
  140. package/lib/operations/options_operation.js.map +1 -1
  141. package/lib/operations/profiling_level.js.map +1 -1
  142. package/lib/operations/search_indexes/drop.js.map +1 -1
  143. package/lib/operations/set_profiling_level.js.map +1 -1
  144. package/lib/operations/stats.js.map +1 -1
  145. package/lib/operations/update.js +2 -2
  146. package/lib/operations/update.js.map +1 -1
  147. package/lib/operations/validate_collection.js.map +1 -1
  148. package/lib/read_concern.js.map +1 -1
  149. package/lib/read_preference.js +1 -1
  150. package/lib/read_preference.js.map +1 -1
  151. package/lib/sdam/common.js +3 -3
  152. package/lib/sdam/common.js.map +1 -1
  153. package/lib/sdam/monitor.js +5 -1
  154. package/lib/sdam/monitor.js.map +1 -1
  155. package/lib/sdam/server.js +2 -2
  156. package/lib/sdam/server.js.map +1 -1
  157. package/lib/sdam/server_description.js +3 -3
  158. package/lib/sdam/server_description.js.map +1 -1
  159. package/lib/sdam/server_selection.js +5 -5
  160. package/lib/sdam/server_selection.js.map +1 -1
  161. package/lib/sdam/srv_polling.js +3 -2
  162. package/lib/sdam/srv_polling.js.map +1 -1
  163. package/lib/sdam/topology.js +1 -1
  164. package/lib/sdam/topology.js.map +1 -1
  165. package/lib/sdam/topology_description.js.map +1 -1
  166. package/lib/sessions.js +218 -221
  167. package/lib/sessions.js.map +1 -1
  168. package/lib/sort.js +3 -2
  169. package/lib/sort.js.map +1 -1
  170. package/lib/timeout.js +1 -0
  171. package/lib/timeout.js.map +1 -1
  172. package/lib/transactions.js +2 -2
  173. package/lib/transactions.js.map +1 -1
  174. package/lib/utils.js +51 -49
  175. package/lib/utils.js.map +1 -1
  176. package/lib/write_concern.js +2 -2
  177. package/lib/write_concern.js.map +1 -1
  178. package/mongodb.d.ts +143 -146
  179. package/package.json +28 -27
  180. package/src/bson.ts +13 -1
  181. package/src/bulk/common.ts +18 -18
  182. package/src/change_stream.ts +15 -33
  183. package/src/client-side-encryption/auto_encrypter.ts +82 -18
  184. package/src/client-side-encryption/client_encryption.ts +54 -51
  185. package/src/client-side-encryption/mongocryptd_manager.ts +6 -10
  186. package/src/client-side-encryption/state_machine.ts +6 -28
  187. package/src/cmap/auth/gssapi.ts +1 -1
  188. package/src/cmap/auth/mongodb_aws.ts +2 -2
  189. package/src/cmap/auth/mongodb_oidc/callback_workflow.ts +2 -2
  190. package/src/cmap/auth/mongodb_oidc/machine_workflow.ts +2 -2
  191. package/src/cmap/commands.ts +5 -70
  192. package/src/cmap/connect.ts +1 -3
  193. package/src/cmap/connection.ts +4 -3
  194. package/src/cmap/connection_pool.ts +9 -17
  195. package/src/cmap/connection_pool_events.ts +2 -34
  196. package/src/cmap/handshake/client_metadata.ts +1 -1
  197. package/src/cmap/wire_protocol/constants.ts +2 -2
  198. package/src/cmap/wire_protocol/on_demand/document.ts +14 -18
  199. package/src/cmap/wire_protocol/responses.ts +23 -5
  200. package/src/cmap/wire_protocol/shared.ts +2 -1
  201. package/src/collection.ts +15 -16
  202. package/src/connection_string.ts +2 -8
  203. package/src/constants.ts +0 -1
  204. package/src/cursor/abstract_cursor.ts +28 -42
  205. package/src/cursor/aggregation_cursor.ts +5 -7
  206. package/src/cursor/find_cursor.ts +1 -1
  207. package/src/deps.ts +1 -8
  208. package/src/error.ts +14 -33
  209. package/src/gridfs/download.ts +4 -28
  210. package/src/gridfs/upload.ts +6 -1
  211. package/src/index.ts +6 -6
  212. package/src/mongo_client.ts +3 -25
  213. package/src/mongo_logger.ts +3 -5
  214. package/src/mongo_types.ts +68 -69
  215. package/src/operations/aggregate.ts +1 -2
  216. package/src/operations/bulk_write.ts +2 -2
  217. package/src/operations/command.ts +1 -1
  218. package/src/operations/execute_operation.ts +131 -137
  219. package/src/operations/find_and_modify.ts +7 -2
  220. package/src/operations/insert.ts +4 -3
  221. package/src/operations/operation.ts +10 -7
  222. package/src/operations/search_indexes/drop.ts +1 -4
  223. package/src/sdam/monitor.ts +5 -3
  224. package/src/sdam/server.ts +1 -1
  225. package/src/sdam/server_description.ts +6 -5
  226. package/src/sdam/srv_polling.ts +2 -1
  227. package/src/sessions.ts +277 -291
  228. package/src/sort.ts +1 -1
  229. package/src/timeout.ts +1 -0
  230. package/src/transactions.ts +2 -1
  231. package/src/utils.ts +4 -9
  232. package/src/write_concern.ts +2 -2
  233. package/tsconfig.json +1 -2
  234. package/lib/beta.d.ts +0 -7900
  235. package/lib/beta.js +0 -21
  236. package/lib/beta.js.map +0 -1
  237. package/lib/operations/client_bulk_write/command_builder.js +0 -198
  238. package/lib/operations/client_bulk_write/command_builder.js.map +0 -1
  239. package/lib/operations/client_bulk_write/common.js +0 -3
  240. package/lib/operations/client_bulk_write/common.js.map +0 -1
  241. package/lib/resource_management.js +0 -58
  242. package/lib/resource_management.js.map +0 -1
  243. package/src/beta.ts +0 -22
  244. package/src/operations/client_bulk_write/command_builder.ts +0 -283
  245. package/src/operations/client_bulk_write/common.ts +0 -146
  246. package/src/resource_management.ts +0 -74
package/lib/sessions.js CHANGED
@@ -1,10 +1,7 @@
1
1
  "use strict";
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.ServerSessionPool = exports.ServerSession = exports.ClientSession = void 0;
5
- exports.maybeClearPinnedConnection = maybeClearPinnedConnection;
6
- exports.applySession = applySession;
7
- exports.updateSessionFromResponse = updateSessionFromResponse;
4
+ exports.updateSessionFromResponse = exports.applySession = exports.ServerSessionPool = exports.ServerSession = exports.maybeClearPinnedConnection = exports.ClientSession = void 0;
8
5
  const bson_1 = require("./bson");
9
6
  const metrics_1 = require("./cmap/metrics");
10
7
  const shared_1 = require("./cmap/wire_protocol/shared");
@@ -15,7 +12,6 @@ const execute_operation_1 = require("./operations/execute_operation");
15
12
  const run_command_1 = require("./operations/run_command");
16
13
  const read_concern_1 = require("./read_concern");
17
14
  const read_preference_1 = require("./read_preference");
18
- const resource_management_1 = require("./resource_management");
19
15
  const common_1 = require("./sdam/common");
20
16
  const transactions_1 = require("./transactions");
21
17
  const utils_1 = require("./utils");
@@ -132,10 +128,7 @@ class ClientSession extends mongo_types_1.TypedEventEmitter {
132
128
  return this.loadBalanced ? !!this[kPinnedConnection] : this.transaction.isPinned;
133
129
  }
134
130
  /**
135
- * Frees any client-side resources held by the current session. If a session is in a transaction,
136
- * the transaction is aborted.
137
- *
138
- * Does not end the session on the server.
131
+ * Ends this session on the server
139
132
  *
140
133
  * @param options - Optional settings. Currently reserved for future use
141
134
  */
@@ -168,10 +161,6 @@ class ClientSession extends mongo_types_1.TypedEventEmitter {
168
161
  maybeClearPinnedConnection(this, { force: true, ...options });
169
162
  }
170
163
  }
171
- /** @internal */
172
- async asyncDispose() {
173
- await this.endSession({ force: true });
174
- }
175
164
  /**
176
165
  * Advances the operationTime for a ClientSession.
177
166
  *
@@ -284,130 +273,13 @@ class ClientSession extends mongo_types_1.TypedEventEmitter {
284
273
  * Commits the currently active transaction in this session.
285
274
  */
286
275
  async commitTransaction() {
287
- if (this.transaction.state === transactions_1.TxnState.NO_TRANSACTION) {
288
- throw new error_1.MongoTransactionError('No transaction started');
289
- }
290
- if (this.transaction.state === transactions_1.TxnState.STARTING_TRANSACTION ||
291
- this.transaction.state === transactions_1.TxnState.TRANSACTION_COMMITTED_EMPTY) {
292
- // the transaction was never started, we can safely exit here
293
- this.transaction.transition(transactions_1.TxnState.TRANSACTION_COMMITTED_EMPTY);
294
- return;
295
- }
296
- if (this.transaction.state === transactions_1.TxnState.TRANSACTION_ABORTED) {
297
- throw new error_1.MongoTransactionError('Cannot call commitTransaction after calling abortTransaction');
298
- }
299
- const command = { commitTransaction: 1 };
300
- const wc = this.transaction.options.writeConcern ?? this.clientOptions?.writeConcern;
301
- if (wc != null) {
302
- write_concern_1.WriteConcern.apply(command, { wtimeoutMS: 10000, w: 'majority', ...wc });
303
- }
304
- if (this.transaction.state === transactions_1.TxnState.TRANSACTION_COMMITTED) {
305
- write_concern_1.WriteConcern.apply(command, { wtimeoutMS: 10000, ...wc, w: 'majority' });
306
- }
307
- if (typeof this.transaction.options.maxTimeMS === 'number') {
308
- command.maxTimeMS = this.transaction.options.maxTimeMS;
309
- }
310
- if (this.transaction.recoveryToken) {
311
- command.recoveryToken = this.transaction.recoveryToken;
312
- }
313
- const operation = new run_command_1.RunAdminCommandOperation(command, {
314
- session: this,
315
- readPreference: read_preference_1.ReadPreference.primary,
316
- bypassPinningCheck: true
317
- });
318
- try {
319
- await (0, execute_operation_1.executeOperation)(this.client, operation);
320
- return;
321
- }
322
- catch (firstCommitError) {
323
- if (firstCommitError instanceof error_1.MongoError && (0, error_1.isRetryableWriteError)(firstCommitError)) {
324
- // SPEC-1185: apply majority write concern when retrying commitTransaction
325
- write_concern_1.WriteConcern.apply(command, { wtimeoutMS: 10000, ...wc, w: 'majority' });
326
- // per txns spec, must unpin session in this case
327
- this.unpin({ force: true });
328
- try {
329
- await (0, execute_operation_1.executeOperation)(this.client, operation);
330
- return;
331
- }
332
- catch (retryCommitError) {
333
- // If the retry failed, we process that error instead of the original
334
- if (shouldAddUnknownTransactionCommitResultLabel(retryCommitError)) {
335
- retryCommitError.addErrorLabel(error_1.MongoErrorLabel.UnknownTransactionCommitResult);
336
- }
337
- if (shouldUnpinAfterCommitError(retryCommitError)) {
338
- this.unpin({ error: retryCommitError });
339
- }
340
- throw retryCommitError;
341
- }
342
- }
343
- if (shouldAddUnknownTransactionCommitResultLabel(firstCommitError)) {
344
- firstCommitError.addErrorLabel(error_1.MongoErrorLabel.UnknownTransactionCommitResult);
345
- }
346
- if (shouldUnpinAfterCommitError(firstCommitError)) {
347
- this.unpin({ error: firstCommitError });
348
- }
349
- throw firstCommitError;
350
- }
351
- finally {
352
- this.transaction.transition(transactions_1.TxnState.TRANSACTION_COMMITTED);
353
- }
276
+ return await endTransaction(this, 'commitTransaction');
354
277
  }
355
278
  /**
356
279
  * Aborts the currently active transaction in this session.
357
280
  */
358
281
  async abortTransaction() {
359
- if (this.transaction.state === transactions_1.TxnState.NO_TRANSACTION) {
360
- throw new error_1.MongoTransactionError('No transaction started');
361
- }
362
- if (this.transaction.state === transactions_1.TxnState.STARTING_TRANSACTION) {
363
- // the transaction was never started, we can safely exit here
364
- this.transaction.transition(transactions_1.TxnState.TRANSACTION_ABORTED);
365
- return;
366
- }
367
- if (this.transaction.state === transactions_1.TxnState.TRANSACTION_ABORTED) {
368
- throw new error_1.MongoTransactionError('Cannot call abortTransaction twice');
369
- }
370
- if (this.transaction.state === transactions_1.TxnState.TRANSACTION_COMMITTED ||
371
- this.transaction.state === transactions_1.TxnState.TRANSACTION_COMMITTED_EMPTY) {
372
- throw new error_1.MongoTransactionError('Cannot call abortTransaction after calling commitTransaction');
373
- }
374
- const command = { abortTransaction: 1 };
375
- const wc = this.transaction.options.writeConcern ?? this.clientOptions?.writeConcern;
376
- if (wc != null) {
377
- write_concern_1.WriteConcern.apply(command, { wtimeoutMS: 10000, w: 'majority', ...wc });
378
- }
379
- if (this.transaction.recoveryToken) {
380
- command.recoveryToken = this.transaction.recoveryToken;
381
- }
382
- const operation = new run_command_1.RunAdminCommandOperation(command, {
383
- session: this,
384
- readPreference: read_preference_1.ReadPreference.primary,
385
- bypassPinningCheck: true
386
- });
387
- try {
388
- await (0, execute_operation_1.executeOperation)(this.client, operation);
389
- this.unpin();
390
- return;
391
- }
392
- catch (firstAbortError) {
393
- this.unpin();
394
- if (firstAbortError instanceof error_1.MongoError && (0, error_1.isRetryableWriteError)(firstAbortError)) {
395
- try {
396
- await (0, execute_operation_1.executeOperation)(this.client, operation);
397
- return;
398
- }
399
- catch {
400
- // we do not retry the retry
401
- }
402
- }
403
- // The spec indicates that if the operation times out or fails with a non-retryable error, we should ignore all errors on `abortTransaction`
404
- }
405
- finally {
406
- this.transaction.transition(transactions_1.TxnState.TRANSACTION_ABORTED);
407
- if (this.loadBalanced) {
408
- maybeClearPinnedConnection(this, { force: false });
409
- }
410
- }
282
+ return await endTransaction(this, 'abortTransaction');
411
283
  }
412
284
  /**
413
285
  * This is here to ensure that ClientSession is never serialized to BSON.
@@ -448,104 +320,20 @@ class ClientSession extends mongo_types_1.TypedEventEmitter {
448
320
  * @returns A raw command response or undefined
449
321
  */
450
322
  async withTransaction(fn, options) {
451
- const MAX_TIMEOUT = 120000;
452
323
  const startTime = (0, utils_1.now)();
453
- let committed = false;
454
- let result;
455
- while (!committed) {
456
- this.startTransaction(options); // may throw on error
457
- try {
458
- const promise = fn(this);
459
- if (!(0, utils_1.isPromiseLike)(promise)) {
460
- throw new error_1.MongoInvalidArgumentError('Function provided to `withTransaction` must return a Promise');
461
- }
462
- result = await promise;
463
- if (this.transaction.state === transactions_1.TxnState.NO_TRANSACTION ||
464
- this.transaction.state === transactions_1.TxnState.TRANSACTION_COMMITTED ||
465
- this.transaction.state === transactions_1.TxnState.TRANSACTION_ABORTED) {
466
- // Assume callback intentionally ended the transaction
467
- return result;
468
- }
469
- }
470
- catch (fnError) {
471
- if (!(fnError instanceof error_1.MongoError) || fnError instanceof error_1.MongoInvalidArgumentError) {
472
- await this.abortTransaction();
473
- throw fnError;
474
- }
475
- if (this.transaction.state === transactions_1.TxnState.STARTING_TRANSACTION ||
476
- this.transaction.state === transactions_1.TxnState.TRANSACTION_IN_PROGRESS) {
477
- await this.abortTransaction();
478
- }
479
- if (fnError.hasErrorLabel(error_1.MongoErrorLabel.TransientTransactionError) &&
480
- (0, utils_1.now)() - startTime < MAX_TIMEOUT) {
481
- continue;
482
- }
483
- throw fnError;
484
- }
485
- while (!committed) {
486
- try {
487
- /*
488
- * We will rely on ClientSession.commitTransaction() to
489
- * apply a majority write concern if commitTransaction is
490
- * being retried (see: DRIVERS-601)
491
- */
492
- await this.commitTransaction();
493
- committed = true;
494
- }
495
- catch (commitError) {
496
- /*
497
- * Note: a maxTimeMS error will have the MaxTimeMSExpired
498
- * code (50) and can be reported as a top-level error or
499
- * inside writeConcernError, ex.
500
- * { ok:0, code: 50, codeName: 'MaxTimeMSExpired' }
501
- * { ok:1, writeConcernError: { code: 50, codeName: 'MaxTimeMSExpired' } }
502
- */
503
- if (!isMaxTimeMSExpiredError(commitError) &&
504
- commitError.hasErrorLabel(error_1.MongoErrorLabel.UnknownTransactionCommitResult) &&
505
- (0, utils_1.now)() - startTime < MAX_TIMEOUT) {
506
- continue;
507
- }
508
- if (commitError.hasErrorLabel(error_1.MongoErrorLabel.TransientTransactionError) &&
509
- (0, utils_1.now)() - startTime < MAX_TIMEOUT) {
510
- break;
511
- }
512
- throw commitError;
513
- }
514
- }
515
- }
516
- return result;
324
+ return await attemptTransaction(this, startTime, fn, options);
517
325
  }
518
326
  }
519
327
  exports.ClientSession = ClientSession;
520
328
  _a = kSnapshotEnabled;
521
- (0, resource_management_1.configureResourceManagement)(ClientSession.prototype);
329
+ const MAX_WITH_TRANSACTION_TIMEOUT = 120000;
522
330
  const NON_DETERMINISTIC_WRITE_CONCERN_ERRORS = new Set([
523
331
  'CannotSatisfyWriteConcern',
524
332
  'UnknownReplWriteConcern',
525
333
  'UnsatisfiableWriteConcern'
526
334
  ]);
527
- function shouldUnpinAfterCommitError(commitError) {
528
- if (commitError instanceof error_1.MongoError) {
529
- if ((0, error_1.isRetryableWriteError)(commitError) ||
530
- commitError instanceof error_1.MongoWriteConcernError ||
531
- isMaxTimeMSExpiredError(commitError)) {
532
- if (isUnknownTransactionCommitResult(commitError)) {
533
- // per txns spec, must unpin session in this case
534
- return true;
535
- }
536
- }
537
- else if (commitError.hasErrorLabel(error_1.MongoErrorLabel.TransientTransactionError)) {
538
- return true;
539
- }
540
- }
541
- return false;
542
- }
543
- function shouldAddUnknownTransactionCommitResultLabel(commitError) {
544
- let ok = (0, error_1.isRetryableWriteError)(commitError);
545
- ok ||= commitError instanceof error_1.MongoWriteConcernError;
546
- ok ||= isMaxTimeMSExpiredError(commitError);
547
- ok &&= isUnknownTransactionCommitResult(commitError);
548
- return ok;
335
+ function hasNotTimedOut(startTime, max) {
336
+ return (0, utils_1.calculateDurationInMs)(startTime) < max;
549
337
  }
550
338
  function isUnknownTransactionCommitResult(err) {
551
339
  const isNonDeterministicWriteConcernError = err instanceof error_1.MongoServerError &&
@@ -584,12 +372,219 @@ function maybeClearPinnedConnection(session, options) {
584
372
  }
585
373
  }
586
374
  }
375
+ exports.maybeClearPinnedConnection = maybeClearPinnedConnection;
587
376
  function isMaxTimeMSExpiredError(err) {
588
377
  if (err == null || !(err instanceof error_1.MongoServerError)) {
589
378
  return false;
590
379
  }
591
380
  return (err.code === error_1.MONGODB_ERROR_CODES.MaxTimeMSExpired ||
592
- err.writeConcernError?.code === error_1.MONGODB_ERROR_CODES.MaxTimeMSExpired);
381
+ (err.writeConcernError && err.writeConcernError.code === error_1.MONGODB_ERROR_CODES.MaxTimeMSExpired));
382
+ }
383
+ async function attemptTransactionCommit(session, startTime, fn, result, options) {
384
+ try {
385
+ await session.commitTransaction();
386
+ return result;
387
+ }
388
+ catch (commitErr) {
389
+ if (commitErr instanceof error_1.MongoError &&
390
+ hasNotTimedOut(startTime, MAX_WITH_TRANSACTION_TIMEOUT) &&
391
+ !isMaxTimeMSExpiredError(commitErr)) {
392
+ if (commitErr.hasErrorLabel(error_1.MongoErrorLabel.UnknownTransactionCommitResult)) {
393
+ return await attemptTransactionCommit(session, startTime, fn, result, options);
394
+ }
395
+ if (commitErr.hasErrorLabel(error_1.MongoErrorLabel.TransientTransactionError)) {
396
+ return await attemptTransaction(session, startTime, fn, options);
397
+ }
398
+ }
399
+ throw commitErr;
400
+ }
401
+ }
402
+ const USER_EXPLICIT_TXN_END_STATES = new Set([
403
+ transactions_1.TxnState.NO_TRANSACTION,
404
+ transactions_1.TxnState.TRANSACTION_COMMITTED,
405
+ transactions_1.TxnState.TRANSACTION_ABORTED
406
+ ]);
407
+ function userExplicitlyEndedTransaction(session) {
408
+ return USER_EXPLICIT_TXN_END_STATES.has(session.transaction.state);
409
+ }
410
+ async function attemptTransaction(session, startTime, fn, options = {}) {
411
+ session.startTransaction(options);
412
+ let promise;
413
+ try {
414
+ promise = fn(session);
415
+ }
416
+ catch (err) {
417
+ promise = Promise.reject(err);
418
+ }
419
+ if (!(0, utils_1.isPromiseLike)(promise)) {
420
+ try {
421
+ await session.abortTransaction();
422
+ }
423
+ catch (error) {
424
+ (0, utils_1.squashError)(error);
425
+ }
426
+ throw new error_1.MongoInvalidArgumentError('Function provided to `withTransaction` must return a Promise');
427
+ }
428
+ try {
429
+ const result = await promise;
430
+ if (userExplicitlyEndedTransaction(session)) {
431
+ return result;
432
+ }
433
+ return await attemptTransactionCommit(session, startTime, fn, result, options);
434
+ }
435
+ catch (err) {
436
+ if (session.inTransaction()) {
437
+ await session.abortTransaction();
438
+ }
439
+ if (err instanceof error_1.MongoError &&
440
+ err.hasErrorLabel(error_1.MongoErrorLabel.TransientTransactionError) &&
441
+ hasNotTimedOut(startTime, MAX_WITH_TRANSACTION_TIMEOUT)) {
442
+ return await attemptTransaction(session, startTime, fn, options);
443
+ }
444
+ if (isMaxTimeMSExpiredError(err)) {
445
+ err.addErrorLabel(error_1.MongoErrorLabel.UnknownTransactionCommitResult);
446
+ }
447
+ throw err;
448
+ }
449
+ }
450
+ async function endTransaction(session, commandName) {
451
+ // handle any initial problematic cases
452
+ const txnState = session.transaction.state;
453
+ if (txnState === transactions_1.TxnState.NO_TRANSACTION) {
454
+ throw new error_1.MongoTransactionError('No transaction started');
455
+ }
456
+ if (commandName === 'commitTransaction') {
457
+ if (txnState === transactions_1.TxnState.STARTING_TRANSACTION ||
458
+ txnState === transactions_1.TxnState.TRANSACTION_COMMITTED_EMPTY) {
459
+ // the transaction was never started, we can safely exit here
460
+ session.transaction.transition(transactions_1.TxnState.TRANSACTION_COMMITTED_EMPTY);
461
+ return;
462
+ }
463
+ if (txnState === transactions_1.TxnState.TRANSACTION_ABORTED) {
464
+ throw new error_1.MongoTransactionError('Cannot call commitTransaction after calling abortTransaction');
465
+ }
466
+ }
467
+ else {
468
+ if (txnState === transactions_1.TxnState.STARTING_TRANSACTION) {
469
+ // the transaction was never started, we can safely exit here
470
+ session.transaction.transition(transactions_1.TxnState.TRANSACTION_ABORTED);
471
+ return;
472
+ }
473
+ if (txnState === transactions_1.TxnState.TRANSACTION_ABORTED) {
474
+ throw new error_1.MongoTransactionError('Cannot call abortTransaction twice');
475
+ }
476
+ if (txnState === transactions_1.TxnState.TRANSACTION_COMMITTED ||
477
+ txnState === transactions_1.TxnState.TRANSACTION_COMMITTED_EMPTY) {
478
+ throw new error_1.MongoTransactionError('Cannot call abortTransaction after calling commitTransaction');
479
+ }
480
+ }
481
+ // construct and send the command
482
+ const command = { [commandName]: 1 };
483
+ // apply a writeConcern if specified
484
+ let writeConcern;
485
+ if (session.transaction.options.writeConcern) {
486
+ writeConcern = Object.assign({}, session.transaction.options.writeConcern);
487
+ }
488
+ else if (session.clientOptions && session.clientOptions.writeConcern) {
489
+ writeConcern = { w: session.clientOptions.writeConcern.w };
490
+ }
491
+ if (txnState === transactions_1.TxnState.TRANSACTION_COMMITTED) {
492
+ writeConcern = Object.assign({ wtimeoutMS: 10000 }, writeConcern, { w: 'majority' });
493
+ }
494
+ if (writeConcern) {
495
+ write_concern_1.WriteConcern.apply(command, writeConcern);
496
+ }
497
+ if (commandName === 'commitTransaction' && session.transaction.options.maxTimeMS) {
498
+ Object.assign(command, { maxTimeMS: session.transaction.options.maxTimeMS });
499
+ }
500
+ if (session.transaction.recoveryToken) {
501
+ command.recoveryToken = session.transaction.recoveryToken;
502
+ }
503
+ try {
504
+ // send the command
505
+ await (0, execute_operation_1.executeOperation)(session.client, new run_command_1.RunAdminCommandOperation(command, {
506
+ session,
507
+ readPreference: read_preference_1.ReadPreference.primary,
508
+ bypassPinningCheck: true
509
+ }));
510
+ if (command.abortTransaction) {
511
+ // always unpin on abort regardless of command outcome
512
+ session.unpin();
513
+ }
514
+ if (commandName !== 'commitTransaction') {
515
+ session.transaction.transition(transactions_1.TxnState.TRANSACTION_ABORTED);
516
+ if (session.loadBalanced) {
517
+ maybeClearPinnedConnection(session, { force: false });
518
+ }
519
+ }
520
+ else {
521
+ session.transaction.transition(transactions_1.TxnState.TRANSACTION_COMMITTED);
522
+ }
523
+ }
524
+ catch (firstAttemptErr) {
525
+ if (command.abortTransaction) {
526
+ // always unpin on abort regardless of command outcome
527
+ session.unpin();
528
+ }
529
+ if (firstAttemptErr instanceof error_1.MongoError && (0, error_1.isRetryableWriteError)(firstAttemptErr)) {
530
+ // SPEC-1185: apply majority write concern when retrying commitTransaction
531
+ if (command.commitTransaction) {
532
+ // per txns spec, must unpin session in this case
533
+ session.unpin({ force: true });
534
+ command.writeConcern = Object.assign({ wtimeout: 10000 }, command.writeConcern, {
535
+ w: 'majority'
536
+ });
537
+ }
538
+ try {
539
+ await (0, execute_operation_1.executeOperation)(session.client, new run_command_1.RunAdminCommandOperation(command, {
540
+ session,
541
+ readPreference: read_preference_1.ReadPreference.primary,
542
+ bypassPinningCheck: true
543
+ }));
544
+ if (commandName !== 'commitTransaction') {
545
+ session.transaction.transition(transactions_1.TxnState.TRANSACTION_ABORTED);
546
+ if (session.loadBalanced) {
547
+ maybeClearPinnedConnection(session, { force: false });
548
+ }
549
+ }
550
+ else {
551
+ session.transaction.transition(transactions_1.TxnState.TRANSACTION_COMMITTED);
552
+ }
553
+ }
554
+ catch (secondAttemptErr) {
555
+ handleEndTransactionError(session, commandName, secondAttemptErr);
556
+ }
557
+ }
558
+ else {
559
+ handleEndTransactionError(session, commandName, firstAttemptErr);
560
+ }
561
+ }
562
+ }
563
+ function handleEndTransactionError(session, commandName, error) {
564
+ if (commandName !== 'commitTransaction') {
565
+ session.transaction.transition(transactions_1.TxnState.TRANSACTION_ABORTED);
566
+ if (session.loadBalanced) {
567
+ maybeClearPinnedConnection(session, { force: false });
568
+ }
569
+ // The spec indicates that if the operation times out or fails with a non-retryable error, we should ignore all errors on `abortTransaction`
570
+ return;
571
+ }
572
+ session.transaction.transition(transactions_1.TxnState.TRANSACTION_COMMITTED);
573
+ if (error instanceof error_1.MongoError) {
574
+ if ((0, error_1.isRetryableWriteError)(error) ||
575
+ error instanceof error_1.MongoWriteConcernError ||
576
+ isMaxTimeMSExpiredError(error)) {
577
+ if (isUnknownTransactionCommitResult(error)) {
578
+ error.addErrorLabel(error_1.MongoErrorLabel.UnknownTransactionCommitResult);
579
+ // per txns spec, must unpin session in this case
580
+ session.unpin({ error });
581
+ }
582
+ }
583
+ else if (error.hasErrorLabel(error_1.MongoErrorLabel.TransientTransactionError)) {
584
+ session.unpin({ error });
585
+ }
586
+ }
587
+ throw error;
593
588
  }
594
589
  /**
595
590
  * Reflects the existence of a session on the server. Can be reused by the session pool.
@@ -770,6 +765,7 @@ function applySession(session, command, options) {
770
765
  }
771
766
  return;
772
767
  }
768
+ exports.applySession = applySession;
773
769
  function updateSessionFromResponse(session, document) {
774
770
  if (document.$clusterTime) {
775
771
  (0, common_1._advanceClusterTime)(session, document.$clusterTime);
@@ -789,4 +785,5 @@ function updateSessionFromResponse(session, document) {
789
785
  }
790
786
  }
791
787
  }
788
+ exports.updateSessionFromResponse = updateSessionFromResponse;
792
789
  //# sourceMappingURL=sessions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../src/sessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../src/sessions.ts"],"names":[],"mappings":"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"}
package/lib/sort.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.formatSort = formatSort;
3
+ exports.formatSort = void 0;
4
4
  const error_1 = require("./error");
5
5
  /** @internal */
6
6
  function prepareDirection(direction = 1) {
@@ -31,7 +31,7 @@ function isPair(t) {
31
31
  prepareDirection(t[1]);
32
32
  return true;
33
33
  }
34
- catch {
34
+ catch (e) {
35
35
  return false;
36
36
  }
37
37
  }
@@ -93,4 +93,5 @@ function formatSort(sort, direction) {
93
93
  return pairToMap(sort);
94
94
  return stringsToMap(sort);
95
95
  }
96
+ exports.formatSort = formatSort;
96
97
  //# sourceMappingURL=sort.js.map
package/lib/sort.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sort.js","sourceRoot":"","sources":["../src/sort.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sort.js","sourceRoot":"","sources":["../src/sort.ts"],"names":[],"mappings":"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"}
package/lib/timeout.js CHANGED
@@ -69,6 +69,7 @@ class Timeout extends Promise {
69
69
  Symbol.toStringTag in timeout &&
70
70
  timeout[Symbol.toStringTag] === 'MongoDBTimeout' &&
71
71
  'then' in timeout &&
72
+ // eslint-disable-next-line github/no-then
72
73
  typeof timeout.then === 'function');
73
74
  }
74
75
  }