mongodb 7.0.0-dev.20251213.sha.4cb2b875 → 7.0.0-dev.20251217.sha.c990750f

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.
package/lib/sessions.js CHANGED
@@ -491,40 +491,59 @@ class ClientSession extends mongo_types_1.TypedEventEmitter {
491
491
  socketTimeoutMS: this.clientOptions.socketTimeoutMS
492
492
  })
493
493
  : null;
494
- const startTime = this.timeoutContext?.csotEnabled()
494
+ // 1. Record the current monotonic time, which will be used to enforce the 120-second timeout before later retry attempts.
495
+ const startTime = this.timeoutContext?.csotEnabled() // This is strictly to appease TS. We must narrow the context to a CSOT context before accessing `.start`.
495
496
  ? this.timeoutContext.start
496
497
  : (0, utils_1.processTimeMS)();
497
498
  let committed = false;
498
499
  let result;
499
500
  try {
500
501
  while (!committed) {
502
+ // 2. Invoke startTransaction on the session
503
+ // 3. If `startTransaction` reported an error, propagate that error to the caller of `withTransaction` and return immediately.
501
504
  this.startTransaction(options); // may throw on error
502
505
  try {
506
+ // 4. Invoke the callback.
507
+ // 5. Control returns to withTransaction. (continued below)
503
508
  const promise = fn(this);
504
509
  if (!(0, utils_1.isPromiseLike)(promise)) {
505
510
  throw new error_1.MongoInvalidArgumentError('Function provided to `withTransaction` must return a Promise');
506
511
  }
507
512
  result = await promise;
513
+ // 5. (cont.) Determine the current state of the ClientSession (continued below)
508
514
  if (this.transaction.state === transactions_1.TxnState.NO_TRANSACTION ||
509
515
  this.transaction.state === transactions_1.TxnState.TRANSACTION_COMMITTED ||
510
516
  this.transaction.state === transactions_1.TxnState.TRANSACTION_ABORTED) {
511
- // Assume callback intentionally ended the transaction
517
+ // 7. If the ClientSession is in the "no transaction", "transaction aborted", or "transaction committed" state,
518
+ // assume the callback intentionally aborted or committed the transaction and return immediately.
512
519
  return result;
513
520
  }
521
+ // 5. (cont.) and whether the callback reported an error
522
+ // 6. If the callback reported an error:
514
523
  }
515
524
  catch (fnError) {
516
525
  if (!(fnError instanceof error_1.MongoError) || fnError instanceof error_1.MongoInvalidArgumentError) {
526
+ // This first preemptive abort regardless of TxnState isn't spec,
527
+ // and it's unclear whether it's serving a practical purpose, but this logic is OLD
517
528
  await this.abortTransaction();
518
529
  throw fnError;
519
530
  }
520
531
  if (this.transaction.state === transactions_1.TxnState.STARTING_TRANSACTION ||
521
532
  this.transaction.state === transactions_1.TxnState.TRANSACTION_IN_PROGRESS) {
533
+ // 6.i If the ClientSession is in the "starting transaction" or "transaction in progress" state,
534
+ // invoke abortTransaction on the session
522
535
  await this.abortTransaction();
523
536
  }
524
537
  if (fnError.hasErrorLabel(error_1.MongoErrorLabel.TransientTransactionError) &&
525
538
  (this.timeoutContext != null || (0, utils_1.processTimeMS)() - startTime < MAX_TIMEOUT)) {
539
+ // 6.ii If the callback's error includes a "TransientTransactionError" label and the elapsed time of `withTransaction`
540
+ // is less than 120 seconds, jump back to step two.
526
541
  continue;
527
542
  }
543
+ // 6.iii If the callback's error includes a "UnknownTransactionCommitResult" label, the callback must have manually committed a transaction,
544
+ // propagate the callback's error to the caller of withTransaction and return immediately.
545
+ // The 6.iii check is redundant with 6.iv, so we don't write code for it
546
+ // 6.iv Otherwise, propagate the callback's error to the caller of withTransaction and return immediately.
528
547
  throw fnError;
529
548
  }
530
549
  while (!committed) {
@@ -534,8 +553,10 @@ class ClientSession extends mongo_types_1.TypedEventEmitter {
534
553
  * apply a majority write concern if commitTransaction is
535
554
  * being retried (see: DRIVERS-601)
536
555
  */
556
+ // 8. Invoke commitTransaction on the session.
537
557
  await this.commitTransaction();
538
558
  committed = true;
559
+ // 9. If commitTransaction reported an error:
539
560
  }
540
561
  catch (commitError) {
541
562
  /*
@@ -548,12 +569,17 @@ class ClientSession extends mongo_types_1.TypedEventEmitter {
548
569
  if (!isMaxTimeMSExpiredError(commitError) &&
549
570
  commitError.hasErrorLabel(error_1.MongoErrorLabel.UnknownTransactionCommitResult) &&
550
571
  (this.timeoutContext != null || (0, utils_1.processTimeMS)() - startTime < MAX_TIMEOUT)) {
572
+ // 9.i If the `commitTransaction` error includes a "UnknownTransactionCommitResult" label and the error is not
573
+ // MaxTimeMSExpired and the elapsed time of `withTransaction` is less than 120 seconds, jump back to step eight.
551
574
  continue;
552
575
  }
553
576
  if (commitError.hasErrorLabel(error_1.MongoErrorLabel.TransientTransactionError) &&
554
577
  (this.timeoutContext != null || (0, utils_1.processTimeMS)() - startTime < MAX_TIMEOUT)) {
578
+ // 9.ii If the commitTransaction error includes a "TransientTransactionError" label
579
+ // and the elapsed time of withTransaction is less than 120 seconds, jump back to step two.
555
580
  break;
556
581
  }
582
+ // 9.iii Otherwise, propagate the commitTransaction error to the caller of withTransaction and return immediately.
557
583
  throw commitError;
558
584
  }
559
585
  }
@@ -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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mongodb",
3
- "version": "7.0.0-dev.20251213.sha.4cb2b875",
3
+ "version": "7.0.0-dev.20251217.sha.c990750f",
4
4
  "description": "The official MongoDB driver for Node.js",
5
5
  "main": "lib/index.js",
6
6
  "files": [
package/src/sessions.ts CHANGED
@@ -726,7 +726,8 @@ export class ClientSession
726
726
  })
727
727
  : null;
728
728
 
729
- const startTime = this.timeoutContext?.csotEnabled()
729
+ // 1. Record the current monotonic time, which will be used to enforce the 120-second timeout before later retry attempts.
730
+ const startTime = this.timeoutContext?.csotEnabled() // This is strictly to appease TS. We must narrow the context to a CSOT context before accessing `.start`.
730
731
  ? this.timeoutContext.start
731
732
  : processTimeMS();
732
733
 
@@ -735,9 +736,13 @@ export class ClientSession
735
736
 
736
737
  try {
737
738
  while (!committed) {
739
+ // 2. Invoke startTransaction on the session
740
+ // 3. If `startTransaction` reported an error, propagate that error to the caller of `withTransaction` and return immediately.
738
741
  this.startTransaction(options); // may throw on error
739
742
 
740
743
  try {
744
+ // 4. Invoke the callback.
745
+ // 5. Control returns to withTransaction. (continued below)
741
746
  const promise = fn(this);
742
747
  if (!isPromiseLike(promise)) {
743
748
  throw new MongoInvalidArgumentError(
@@ -747,16 +752,22 @@ export class ClientSession
747
752
 
748
753
  result = await promise;
749
754
 
755
+ // 5. (cont.) Determine the current state of the ClientSession (continued below)
750
756
  if (
751
757
  this.transaction.state === TxnState.NO_TRANSACTION ||
752
758
  this.transaction.state === TxnState.TRANSACTION_COMMITTED ||
753
759
  this.transaction.state === TxnState.TRANSACTION_ABORTED
754
760
  ) {
755
- // Assume callback intentionally ended the transaction
761
+ // 7. If the ClientSession is in the "no transaction", "transaction aborted", or "transaction committed" state,
762
+ // assume the callback intentionally aborted or committed the transaction and return immediately.
756
763
  return result;
757
764
  }
765
+ // 5. (cont.) and whether the callback reported an error
766
+ // 6. If the callback reported an error:
758
767
  } catch (fnError) {
759
768
  if (!(fnError instanceof MongoError) || fnError instanceof MongoInvalidArgumentError) {
769
+ // This first preemptive abort regardless of TxnState isn't spec,
770
+ // and it's unclear whether it's serving a practical purpose, but this logic is OLD
760
771
  await this.abortTransaction();
761
772
  throw fnError;
762
773
  }
@@ -765,6 +776,8 @@ export class ClientSession
765
776
  this.transaction.state === TxnState.STARTING_TRANSACTION ||
766
777
  this.transaction.state === TxnState.TRANSACTION_IN_PROGRESS
767
778
  ) {
779
+ // 6.i If the ClientSession is in the "starting transaction" or "transaction in progress" state,
780
+ // invoke abortTransaction on the session
768
781
  await this.abortTransaction();
769
782
  }
770
783
 
@@ -772,9 +785,15 @@ export class ClientSession
772
785
  fnError.hasErrorLabel(MongoErrorLabel.TransientTransactionError) &&
773
786
  (this.timeoutContext != null || processTimeMS() - startTime < MAX_TIMEOUT)
774
787
  ) {
788
+ // 6.ii If the callback's error includes a "TransientTransactionError" label and the elapsed time of `withTransaction`
789
+ // is less than 120 seconds, jump back to step two.
775
790
  continue;
776
791
  }
777
792
 
793
+ // 6.iii If the callback's error includes a "UnknownTransactionCommitResult" label, the callback must have manually committed a transaction,
794
+ // propagate the callback's error to the caller of withTransaction and return immediately.
795
+ // The 6.iii check is redundant with 6.iv, so we don't write code for it
796
+ // 6.iv Otherwise, propagate the callback's error to the caller of withTransaction and return immediately.
778
797
  throw fnError;
779
798
  }
780
799
 
@@ -785,8 +804,10 @@ export class ClientSession
785
804
  * apply a majority write concern if commitTransaction is
786
805
  * being retried (see: DRIVERS-601)
787
806
  */
807
+ // 8. Invoke commitTransaction on the session.
788
808
  await this.commitTransaction();
789
809
  committed = true;
810
+ // 9. If commitTransaction reported an error:
790
811
  } catch (commitError) {
791
812
  /*
792
813
  * Note: a maxTimeMS error will have the MaxTimeMSExpired
@@ -800,6 +821,8 @@ export class ClientSession
800
821
  commitError.hasErrorLabel(MongoErrorLabel.UnknownTransactionCommitResult) &&
801
822
  (this.timeoutContext != null || processTimeMS() - startTime < MAX_TIMEOUT)
802
823
  ) {
824
+ // 9.i If the `commitTransaction` error includes a "UnknownTransactionCommitResult" label and the error is not
825
+ // MaxTimeMSExpired and the elapsed time of `withTransaction` is less than 120 seconds, jump back to step eight.
803
826
  continue;
804
827
  }
805
828
 
@@ -807,9 +830,12 @@ export class ClientSession
807
830
  commitError.hasErrorLabel(MongoErrorLabel.TransientTransactionError) &&
808
831
  (this.timeoutContext != null || processTimeMS() - startTime < MAX_TIMEOUT)
809
832
  ) {
833
+ // 9.ii If the commitTransaction error includes a "TransientTransactionError" label
834
+ // and the elapsed time of withTransaction is less than 120 seconds, jump back to step two.
810
835
  break;
811
836
  }
812
837
 
838
+ // 9.iii Otherwise, propagate the commitTransaction error to the caller of withTransaction and return immediately.
813
839
  throw commitError;
814
840
  }
815
841
  }