mongodb 4.0.0 → 4.1.2

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 +62 -30
  2. package/lib/bson.js +1 -0
  3. package/lib/bson.js.map +1 -1
  4. package/lib/bulk/common.js +53 -30
  5. package/lib/bulk/common.js.map +1 -1
  6. package/lib/bulk/ordered.js +3 -2
  7. package/lib/bulk/ordered.js.map +1 -1
  8. package/lib/bulk/unordered.js +3 -2
  9. package/lib/bulk/unordered.js.map +1 -1
  10. package/lib/change_stream.js +23 -13
  11. package/lib/change_stream.js.map +1 -1
  12. package/lib/cmap/auth/auth_provider.js +2 -1
  13. package/lib/cmap/auth/auth_provider.js.map +1 -1
  14. package/lib/cmap/auth/gssapi.js +5 -4
  15. package/lib/cmap/auth/gssapi.js.map +1 -1
  16. package/lib/cmap/auth/mongo_credentials.js +9 -5
  17. package/lib/cmap/auth/mongo_credentials.js.map +1 -1
  18. package/lib/cmap/auth/mongocr.js +2 -2
  19. package/lib/cmap/auth/mongocr.js.map +1 -1
  20. package/lib/cmap/auth/mongodb_aws.js +32 -32
  21. package/lib/cmap/auth/mongodb_aws.js.map +1 -1
  22. package/lib/cmap/auth/plain.js +1 -1
  23. package/lib/cmap/auth/plain.js.map +1 -1
  24. package/lib/cmap/auth/scram.js +15 -12
  25. package/lib/cmap/auth/scram.js.map +1 -1
  26. package/lib/cmap/auth/x509.js +2 -2
  27. package/lib/cmap/auth/x509.js.map +1 -1
  28. package/lib/cmap/command_monitoring_events.js +26 -10
  29. package/lib/cmap/command_monitoring_events.js.map +1 -1
  30. package/lib/cmap/commands.js +9 -5
  31. package/lib/cmap/commands.js.map +1 -1
  32. package/lib/cmap/connect.js +23 -9
  33. package/lib/cmap/connect.js.map +1 -1
  34. package/lib/cmap/connection.js +43 -46
  35. package/lib/cmap/connection.js.map +1 -1
  36. package/lib/cmap/connection_pool.js +113 -15
  37. package/lib/cmap/connection_pool.js.map +1 -1
  38. package/lib/cmap/connection_pool_events.js +3 -1
  39. package/lib/cmap/connection_pool_events.js.map +1 -1
  40. package/lib/cmap/errors.js +3 -3
  41. package/lib/cmap/errors.js.map +1 -1
  42. package/lib/cmap/message_stream.js +1 -1
  43. package/lib/cmap/message_stream.js.map +1 -1
  44. package/lib/cmap/metrics.js +62 -0
  45. package/lib/cmap/metrics.js.map +1 -0
  46. package/lib/cmap/stream_description.js +3 -1
  47. package/lib/cmap/stream_description.js.map +1 -1
  48. package/lib/cmap/wire_protocol/compression.js +22 -9
  49. package/lib/cmap/wire_protocol/compression.js.map +1 -1
  50. package/lib/cmap/wire_protocol/shared.js +1 -1
  51. package/lib/cmap/wire_protocol/shared.js.map +1 -1
  52. package/lib/collection.js +23 -18
  53. package/lib/collection.js.map +1 -1
  54. package/lib/connection_string.js +76 -30
  55. package/lib/connection_string.js.map +1 -1
  56. package/lib/cursor/abstract_cursor.js +75 -68
  57. package/lib/cursor/abstract_cursor.js.map +1 -1
  58. package/lib/cursor/aggregation_cursor.js +47 -9
  59. package/lib/cursor/aggregation_cursor.js.map +1 -1
  60. package/lib/cursor/find_cursor.js +53 -13
  61. package/lib/cursor/find_cursor.js.map +1 -1
  62. package/lib/db.js +21 -14
  63. package/lib/db.js.map +1 -1
  64. package/lib/deps.js +16 -5
  65. package/lib/deps.js.map +1 -1
  66. package/lib/encrypter.js +5 -8
  67. package/lib/encrypter.js.map +1 -1
  68. package/lib/error.js +230 -34
  69. package/lib/error.js.map +1 -1
  70. package/lib/explain.js +2 -2
  71. package/lib/explain.js.map +1 -1
  72. package/lib/gridfs/download.js +22 -47
  73. package/lib/gridfs/download.js.map +1 -1
  74. package/lib/gridfs/index.js +4 -3
  75. package/lib/gridfs/index.js.map +1 -1
  76. package/lib/gridfs/upload.js +13 -21
  77. package/lib/gridfs/upload.js.map +1 -1
  78. package/lib/index.js +27 -2
  79. package/lib/index.js.map +1 -1
  80. package/lib/logger.js +3 -2
  81. package/lib/logger.js.map +1 -1
  82. package/lib/mongo_client.js +5 -8
  83. package/lib/mongo_client.js.map +1 -1
  84. package/lib/mongo_types.js.map +1 -1
  85. package/lib/operations/add_user.js +2 -3
  86. package/lib/operations/add_user.js.map +1 -1
  87. package/lib/operations/aggregate.js +12 -9
  88. package/lib/operations/aggregate.js.map +1 -1
  89. package/lib/operations/command.js +5 -7
  90. package/lib/operations/command.js.map +1 -1
  91. package/lib/operations/common_functions.js +1 -1
  92. package/lib/operations/common_functions.js.map +1 -1
  93. package/lib/operations/connect.js +3 -2
  94. package/lib/operations/connect.js.map +1 -1
  95. package/lib/operations/count.js +1 -1
  96. package/lib/operations/count.js.map +1 -1
  97. package/lib/operations/count_documents.js +1 -1
  98. package/lib/operations/count_documents.js.map +1 -1
  99. package/lib/operations/delete.js +5 -5
  100. package/lib/operations/delete.js.map +1 -1
  101. package/lib/operations/distinct.js +2 -2
  102. package/lib/operations/distinct.js.map +1 -1
  103. package/lib/operations/estimated_document_count.js +5 -1
  104. package/lib/operations/estimated_document_count.js.map +1 -1
  105. package/lib/operations/eval.js.map +1 -1
  106. package/lib/operations/execute_operation.js +31 -17
  107. package/lib/operations/execute_operation.js.map +1 -1
  108. package/lib/operations/find.js +13 -9
  109. package/lib/operations/find.js.map +1 -1
  110. package/lib/operations/find_and_modify.js +9 -9
  111. package/lib/operations/find_and_modify.js.map +1 -1
  112. package/lib/operations/indexes.js +8 -3
  113. package/lib/operations/indexes.js.map +1 -1
  114. package/lib/operations/insert.js +5 -3
  115. package/lib/operations/insert.js.map +1 -1
  116. package/lib/operations/is_capped.js +2 -1
  117. package/lib/operations/is_capped.js.map +1 -1
  118. package/lib/operations/list_collections.js +6 -3
  119. package/lib/operations/list_collections.js.map +1 -1
  120. package/lib/operations/map_reduce.js +1 -1
  121. package/lib/operations/map_reduce.js.map +1 -1
  122. package/lib/operations/operation.js +3 -1
  123. package/lib/operations/operation.js.map +1 -1
  124. package/lib/operations/options_operation.js +2 -1
  125. package/lib/operations/options_operation.js.map +1 -1
  126. package/lib/operations/profiling_level.js +4 -2
  127. package/lib/operations/profiling_level.js.map +1 -1
  128. package/lib/operations/set_profiling_level.js +4 -2
  129. package/lib/operations/set_profiling_level.js.map +1 -1
  130. package/lib/operations/update.js +12 -12
  131. package/lib/operations/update.js.map +1 -1
  132. package/lib/operations/validate_collection.js +6 -5
  133. package/lib/operations/validate_collection.js.map +1 -1
  134. package/lib/promise_provider.js +1 -1
  135. package/lib/promise_provider.js.map +1 -1
  136. package/lib/read_preference.js +8 -8
  137. package/lib/read_preference.js.map +1 -1
  138. package/lib/sdam/common.js +12 -10
  139. package/lib/sdam/common.js.map +1 -1
  140. package/lib/sdam/server.js +90 -25
  141. package/lib/sdam/server.js.map +1 -1
  142. package/lib/sdam/server_description.js +9 -4
  143. package/lib/sdam/server_description.js.map +1 -1
  144. package/lib/sdam/server_selection.js +10 -4
  145. package/lib/sdam/server_selection.js.map +1 -1
  146. package/lib/sdam/srv_polling.js +1 -1
  147. package/lib/sdam/srv_polling.js.map +1 -1
  148. package/lib/sdam/topology.js +42 -21
  149. package/lib/sdam/topology.js.map +1 -1
  150. package/lib/sdam/topology_description.js +7 -3
  151. package/lib/sdam/topology_description.js.map +1 -1
  152. package/lib/sessions.js +132 -31
  153. package/lib/sessions.js.map +1 -1
  154. package/lib/sort.js +3 -3
  155. package/lib/sort.js.map +1 -1
  156. package/lib/transactions.js +15 -7
  157. package/lib/transactions.js.map +1 -1
  158. package/lib/utils.js +60 -20
  159. package/lib/utils.js.map +1 -1
  160. package/mongodb.d.ts +523 -138
  161. package/mongodb.ts34.d.ts +480 -141
  162. package/package.json +44 -48
  163. package/src/bson.ts +1 -0
  164. package/src/bulk/common.ts +83 -43
  165. package/src/bulk/ordered.ts +4 -3
  166. package/src/bulk/unordered.ts +4 -3
  167. package/src/change_stream.ts +46 -29
  168. package/src/cmap/auth/auth_provider.ts +3 -2
  169. package/src/cmap/auth/gssapi.ts +15 -5
  170. package/src/cmap/auth/mongo_credentials.ts +22 -8
  171. package/src/cmap/auth/mongocr.ts +3 -3
  172. package/src/cmap/auth/mongodb_aws.ts +52 -39
  173. package/src/cmap/auth/plain.ts +2 -2
  174. package/src/cmap/auth/scram.ts +23 -13
  175. package/src/cmap/auth/x509.ts +3 -3
  176. package/src/cmap/command_monitoring_events.ts +36 -14
  177. package/src/cmap/commands.ts +12 -6
  178. package/src/cmap/connect.ts +42 -12
  179. package/src/cmap/connection.ts +54 -62
  180. package/src/cmap/connection_pool.ts +141 -20
  181. package/src/cmap/connection_pool_events.ts +8 -1
  182. package/src/cmap/errors.ts +3 -4
  183. package/src/cmap/message_stream.ts +2 -4
  184. package/src/cmap/metrics.ts +58 -0
  185. package/src/cmap/stream_description.ts +6 -1
  186. package/src/cmap/wire_protocol/compression.ts +26 -13
  187. package/src/cmap/wire_protocol/shared.ts +4 -2
  188. package/src/collection.ts +75 -70
  189. package/src/connection_string.ts +97 -34
  190. package/src/cursor/abstract_cursor.ts +141 -104
  191. package/src/cursor/aggregation_cursor.ts +34 -20
  192. package/src/cursor/find_cursor.ts +41 -21
  193. package/src/db.ts +19 -18
  194. package/src/deps.ts +110 -22
  195. package/src/encrypter.ts +6 -12
  196. package/src/error.ts +264 -48
  197. package/src/explain.ts +3 -3
  198. package/src/gridfs/download.ts +48 -53
  199. package/src/gridfs/index.ts +5 -4
  200. package/src/gridfs/upload.ts +32 -33
  201. package/src/index.ts +42 -4
  202. package/src/logger.ts +6 -3
  203. package/src/mongo_client.ts +20 -23
  204. package/src/mongo_types.ts +19 -20
  205. package/src/operations/add_user.ts +4 -5
  206. package/src/operations/aggregate.ts +18 -17
  207. package/src/operations/command.ts +7 -10
  208. package/src/operations/common_functions.ts +2 -3
  209. package/src/operations/connect.ts +4 -3
  210. package/src/operations/count.ts +2 -2
  211. package/src/operations/count_documents.ts +2 -2
  212. package/src/operations/delete.ts +8 -6
  213. package/src/operations/distinct.ts +5 -3
  214. package/src/operations/estimated_document_count.ts +5 -1
  215. package/src/operations/eval.ts +1 -1
  216. package/src/operations/execute_operation.ts +41 -20
  217. package/src/operations/find.ts +25 -16
  218. package/src/operations/find_and_modify.ts +12 -10
  219. package/src/operations/indexes.ts +39 -8
  220. package/src/operations/insert.ts +7 -4
  221. package/src/operations/is_capped.ts +3 -2
  222. package/src/operations/list_collections.ts +9 -6
  223. package/src/operations/map_reduce.ts +4 -2
  224. package/src/operations/operation.ts +7 -2
  225. package/src/operations/options_operation.ts +3 -2
  226. package/src/operations/profiling_level.ts +5 -3
  227. package/src/operations/set_profiling_level.ts +9 -3
  228. package/src/operations/update.ts +17 -13
  229. package/src/operations/validate_collection.ts +7 -6
  230. package/src/promise_provider.ts +2 -2
  231. package/src/read_preference.ts +11 -9
  232. package/src/sdam/common.ts +11 -9
  233. package/src/sdam/server.ts +168 -69
  234. package/src/sdam/server_description.ts +16 -4
  235. package/src/sdam/server_selection.ts +15 -7
  236. package/src/sdam/srv_polling.ts +2 -2
  237. package/src/sdam/topology.ts +67 -36
  238. package/src/sdam/topology_description.ts +11 -4
  239. package/src/sessions.ts +194 -37
  240. package/src/sort.ts +6 -4
  241. package/src/transactions.ts +18 -9
  242. package/src/utils.ts +73 -20
  243. package/HISTORY.md +0 -2993
  244. package/lib/operations/find_one.js +0 -34
  245. package/lib/operations/find_one.js.map +0 -1
  246. package/src/operations/find_one.ts +0 -43
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resolveClusterTime = exports.clearAndRemoveTimerFrom = exports.drainTimerQueue = exports.ServerType = exports.TopologyType = exports.STATE_CONNECTED = exports.STATE_CONNECTING = exports.STATE_CLOSED = exports.STATE_CLOSING = void 0;
3
+ exports._advanceClusterTime = exports.clearAndRemoveTimerFrom = exports.drainTimerQueue = exports.ServerType = exports.TopologyType = exports.STATE_CONNECTED = exports.STATE_CONNECTING = exports.STATE_CLOSED = exports.STATE_CLOSING = void 0;
4
4
  // shared state names
5
5
  exports.STATE_CLOSING = 'closing';
6
6
  exports.STATE_CLOSED = 'closed';
@@ -15,7 +15,8 @@ exports.TopologyType = Object.freeze({
15
15
  ReplicaSetNoPrimary: 'ReplicaSetNoPrimary',
16
16
  ReplicaSetWithPrimary: 'ReplicaSetWithPrimary',
17
17
  Sharded: 'Sharded',
18
- Unknown: 'Unknown'
18
+ Unknown: 'Unknown',
19
+ LoadBalanced: 'LoadBalanced'
19
20
  });
20
21
  /**
21
22
  * An enumeration of server types we know about
@@ -30,7 +31,8 @@ exports.ServerType = Object.freeze({
30
31
  RSArbiter: 'RSArbiter',
31
32
  RSOther: 'RSOther',
32
33
  RSGhost: 'RSGhost',
33
- Unknown: 'Unknown'
34
+ Unknown: 'Unknown',
35
+ LoadBalancer: 'LoadBalancer'
34
36
  });
35
37
  /** @internal */
36
38
  function drainTimerQueue(queue) {
@@ -44,16 +46,16 @@ function clearAndRemoveTimerFrom(timer, timers) {
44
46
  return timers.delete(timer);
45
47
  }
46
48
  exports.clearAndRemoveTimerFrom = clearAndRemoveTimerFrom;
47
- /** Shared function to determine clusterTime for a given topology */
48
- function resolveClusterTime(topology, $clusterTime) {
49
- if (topology.clusterTime == null) {
50
- topology.clusterTime = $clusterTime;
49
+ /** Shared function to determine clusterTime for a given topology or session */
50
+ function _advanceClusterTime(entity, $clusterTime) {
51
+ if (entity.clusterTime == null) {
52
+ entity.clusterTime = $clusterTime;
51
53
  }
52
54
  else {
53
- if ($clusterTime.clusterTime.greaterThan(topology.clusterTime.clusterTime)) {
54
- topology.clusterTime = $clusterTime;
55
+ if ($clusterTime.clusterTime.greaterThan(entity.clusterTime.clusterTime)) {
56
+ entity.clusterTime = $clusterTime;
55
57
  }
56
58
  }
57
59
  }
58
- exports.resolveClusterTime = resolveClusterTime;
60
+ exports._advanceClusterTime = _advanceClusterTime;
59
61
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/sdam/common.ts"],"names":[],"mappings":";;;AAIA,qBAAqB;AACR,QAAA,aAAa,GAAG,SAAS,CAAC;AAC1B,QAAA,YAAY,GAAG,QAAQ,CAAC;AACxB,QAAA,gBAAgB,GAAG,YAAY,CAAC;AAChC,QAAA,eAAe,GAAG,WAAW,CAAC;AAE3C;;;GAGG;AACU,QAAA,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;IACxC,MAAM,EAAE,QAAQ;IAChB,mBAAmB,EAAE,qBAAqB;IAC1C,qBAAqB,EAAE,uBAAuB;IAC9C,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;CACV,CAAC,CAAC;AAKZ;;;GAGG;AACU,QAAA,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;IACtC,UAAU,EAAE,YAAY;IACxB,MAAM,EAAE,QAAQ;IAChB,eAAe,EAAE,iBAAiB;IAClC,SAAS,EAAE,WAAW;IACtB,WAAW,EAAE,aAAa;IAC1B,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;CACV,CAAC,CAAC;AAQZ,gBAAgB;AAChB,SAAgB,eAAe,CAAC,KAAiB;IAC/C,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5B,KAAK,CAAC,KAAK,EAAE,CAAC;AAChB,CAAC;AAHD,0CAGC;AAED,gBAAgB;AAChB,SAAgB,uBAAuB,CAAC,KAAqB,EAAE,MAAkB;IAC/E,YAAY,CAAC,KAAK,CAAC,CAAC;IACpB,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAHD,0DAGC;AAWD,oEAAoE;AACpE,SAAgB,kBAAkB,CAChC,QAAkC,EAClC,YAAyB;IAEzB,IAAI,QAAQ,CAAC,WAAW,IAAI,IAAI,EAAE;QAChC,QAAQ,CAAC,WAAW,GAAG,YAAY,CAAC;KACrC;SAAM;QACL,IAAI,YAAY,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE;YAC1E,QAAQ,CAAC,WAAW,GAAG,YAAY,CAAC;SACrC;KACF;AACH,CAAC;AAXD,gDAWC"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/sdam/common.ts"],"names":[],"mappings":";;;AAIA,qBAAqB;AACR,QAAA,aAAa,GAAG,SAAS,CAAC;AAC1B,QAAA,YAAY,GAAG,QAAQ,CAAC;AACxB,QAAA,gBAAgB,GAAG,YAAY,CAAC;AAChC,QAAA,eAAe,GAAG,WAAW,CAAC;AAE3C;;;GAGG;AACU,QAAA,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;IACxC,MAAM,EAAE,QAAQ;IAChB,mBAAmB,EAAE,qBAAqB;IAC1C,qBAAqB,EAAE,uBAAuB;IAC9C,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,cAAc;CACpB,CAAC,CAAC;AAKZ;;;GAGG;AACU,QAAA,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;IACtC,UAAU,EAAE,YAAY;IACxB,MAAM,EAAE,QAAQ;IAChB,eAAe,EAAE,iBAAiB;IAClC,SAAS,EAAE,WAAW;IACtB,WAAW,EAAE,aAAa;IAC1B,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,cAAc;CACpB,CAAC,CAAC;AAQZ,gBAAgB;AAChB,SAAgB,eAAe,CAAC,KAAiB;IAC/C,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5B,KAAK,CAAC,KAAK,EAAE,CAAC;AAChB,CAAC;AAHD,0CAGC;AAED,gBAAgB;AAChB,SAAgB,uBAAuB,CAAC,KAAqB,EAAE,MAAkB;IAC/E,YAAY,CAAC,KAAK,CAAC,CAAC;IACpB,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAHD,0DAGC;AAWD,+EAA+E;AAC/E,SAAgB,mBAAmB,CACjC,MAAgC,EAChC,YAAyB;IAEzB,IAAI,MAAM,CAAC,WAAW,IAAI,IAAI,EAAE;QAC9B,MAAM,CAAC,WAAW,GAAG,YAAY,CAAC;KACnC;SAAM;QACL,IAAI,YAAY,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE;YACxE,MAAM,CAAC,WAAW,GAAG,YAAY,CAAC;SACnC;KACF;AACH,CAAC;AAXD,kDAWC"}
@@ -11,6 +11,7 @@ const common_1 = require("./common");
11
11
  const error_1 = require("../error");
12
12
  const connection_1 = require("../cmap/connection");
13
13
  const mongo_types_1 = require("../mongo_types");
14
+ const utils_2 = require("../utils");
14
15
  const stateTransition = utils_1.makeStateMachine({
15
16
  [common_1.STATE_CLOSED]: [common_1.STATE_CLOSED, common_1.STATE_CONNECTING],
16
17
  [common_1.STATE_CONNECTING]: [common_1.STATE_CONNECTING, common_1.STATE_CLOSING, common_1.STATE_CONNECTED, common_1.STATE_CLOSED],
@@ -42,6 +43,9 @@ class Server extends mongo_types_1.TypedEventEmitter {
42
43
  this.s.pool.on(connection_1.Connection.CLUSTER_TIME_RECEIVED, (clusterTime) => {
43
44
  this.clusterTime = clusterTime;
44
45
  });
46
+ // monitoring is disabled in load balancing mode
47
+ if (this.loadBalanced)
48
+ return;
45
49
  // create the monitor
46
50
  this[kMonitor] = new monitor_1.Monitor(this, this.s.options);
47
51
  for (const event of exports.HEARTBEAT_EVENTS) {
@@ -72,6 +76,9 @@ class Server extends mongo_types_1.TypedEventEmitter {
72
76
  return this.s.options.autoEncrypter;
73
77
  }
74
78
  }
79
+ get loadBalanced() {
80
+ return this.s.topology.description.type === common_1.TopologyType.LoadBalanced;
81
+ }
75
82
  /**
76
83
  * Initiate server connect
77
84
  */
@@ -80,7 +87,16 @@ class Server extends mongo_types_1.TypedEventEmitter {
80
87
  return;
81
88
  }
82
89
  stateTransition(this, common_1.STATE_CONNECTING);
83
- this[kMonitor].connect();
90
+ // If in load balancer mode we automatically set the server to
91
+ // a load balancer. It never transitions out of this state and
92
+ // has no monitor.
93
+ if (!this.loadBalanced) {
94
+ this[kMonitor].connect();
95
+ }
96
+ else {
97
+ stateTransition(this, common_1.STATE_CONNECTED);
98
+ this.emit(Server.CONNECT, this);
99
+ }
84
100
  }
85
101
  /** Destroy the server connection */
86
102
  destroy(options, callback) {
@@ -94,7 +110,9 @@ class Server extends mongo_types_1.TypedEventEmitter {
94
110
  return;
95
111
  }
96
112
  stateTransition(this, common_1.STATE_CLOSING);
97
- this[kMonitor].close();
113
+ if (!this.loadBalanced) {
114
+ this[kMonitor].close();
115
+ }
98
116
  this.s.pool.close(options, err => {
99
117
  stateTransition(this, common_1.STATE_CLOSED);
100
118
  this.emit('closed');
@@ -108,30 +126,49 @@ class Server extends mongo_types_1.TypedEventEmitter {
108
126
  * this will be a no-op.
109
127
  */
110
128
  requestCheck() {
111
- this[kMonitor].requestCheck();
129
+ if (!this.loadBalanced) {
130
+ this[kMonitor].requestCheck();
131
+ }
112
132
  }
113
133
  command(ns, cmd, options, callback) {
114
134
  if (typeof options === 'function') {
115
135
  (callback = options), (options = {}), (options = options !== null && options !== void 0 ? options : {});
116
136
  }
117
137
  if (callback == null) {
118
- throw new error_1.MongoDriverError('callback must be provided');
138
+ throw new error_1.MongoInvalidArgumentError('Callback must be provided');
119
139
  }
120
140
  if (ns.db == null || typeof ns === 'string') {
121
- throw new error_1.MongoDriverError('ns must not be a string');
141
+ throw new error_1.MongoInvalidArgumentError('Namespace must not be a string');
122
142
  }
123
143
  if (this.s.state === common_1.STATE_CLOSING || this.s.state === common_1.STATE_CLOSED) {
124
- callback(new error_1.MongoDriverError('server is closed'));
144
+ callback(new error_1.MongoServerClosedError());
125
145
  return;
126
146
  }
127
147
  // Clone the options
128
148
  const finalOptions = Object.assign({}, options, { wireProtocolCommand: false });
129
149
  // error if collation not supported
130
150
  if (utils_1.collationNotSupported(this, cmd)) {
131
- callback(new error_1.MongoDriverError(`server ${this.name} does not support collation`));
151
+ callback(new error_1.MongoCompatibilityError(`Server ${this.name} does not support collation`));
132
152
  return;
133
153
  }
134
- this.s.pool.withConnection((err, conn, cb) => {
154
+ const session = finalOptions.session;
155
+ const conn = session === null || session === void 0 ? void 0 : session.pinnedConnection;
156
+ // NOTE: This is a hack! We can't retrieve the connections used for executing an operation
157
+ // (and prevent them from being checked back in) at the point of operation execution.
158
+ // This should be considered as part of the work for NODE-2882
159
+ if (this.loadBalanced && session && conn == null && isPinnableCommand(cmd, session)) {
160
+ this.s.pool.checkOut((err, checkedOut) => {
161
+ if (err || checkedOut == null) {
162
+ if (callback)
163
+ return callback(err);
164
+ return;
165
+ }
166
+ session.pin(checkedOut);
167
+ this.command(ns, cmd, finalOptions, callback);
168
+ });
169
+ return;
170
+ }
171
+ this.s.pool.withConnection(conn, (err, conn, cb) => {
135
172
  if (err || !conn) {
136
173
  markServerUnknown(this, err);
137
174
  return cb(err);
@@ -145,10 +182,10 @@ class Server extends mongo_types_1.TypedEventEmitter {
145
182
  */
146
183
  query(ns, cmd, options, callback) {
147
184
  if (this.s.state === common_1.STATE_CLOSING || this.s.state === common_1.STATE_CLOSED) {
148
- callback(new error_1.MongoDriverError('server is closed'));
185
+ callback(new error_1.MongoServerClosedError());
149
186
  return;
150
187
  }
151
- this.s.pool.withConnection((err, conn, cb) => {
188
+ this.s.pool.withConnection(undefined, (err, conn, cb) => {
152
189
  if (err || !conn) {
153
190
  markServerUnknown(this, err);
154
191
  return cb(err);
@@ -161,11 +198,12 @@ class Server extends mongo_types_1.TypedEventEmitter {
161
198
  * @internal
162
199
  */
163
200
  getMore(ns, cursorId, options, callback) {
201
+ var _a;
164
202
  if (this.s.state === common_1.STATE_CLOSING || this.s.state === common_1.STATE_CLOSED) {
165
- callback(new error_1.MongoDriverError('server is closed'));
203
+ callback(new error_1.MongoServerClosedError());
166
204
  return;
167
205
  }
168
- this.s.pool.withConnection((err, conn, cb) => {
206
+ this.s.pool.withConnection((_a = options.session) === null || _a === void 0 ? void 0 : _a.pinnedConnection, (err, conn, cb) => {
169
207
  if (err || !conn) {
170
208
  markServerUnknown(this, err);
171
209
  return cb(err);
@@ -178,13 +216,14 @@ class Server extends mongo_types_1.TypedEventEmitter {
178
216
  * @internal
179
217
  */
180
218
  killCursors(ns, cursorIds, options, callback) {
219
+ var _a;
181
220
  if (this.s.state === common_1.STATE_CLOSING || this.s.state === common_1.STATE_CLOSED) {
182
221
  if (typeof callback === 'function') {
183
- callback(new error_1.MongoDriverError('server is closed'));
222
+ callback(new error_1.MongoServerClosedError());
184
223
  }
185
224
  return;
186
225
  }
187
- this.s.pool.withConnection((err, conn, cb) => {
226
+ this.s.pool.withConnection((_a = options.session) === null || _a === void 0 ? void 0 : _a.pinnedConnection, (err, conn, cb) => {
188
227
  if (err || !conn) {
189
228
  markServerUnknown(this, err);
190
229
  return cb(err);
@@ -221,11 +260,6 @@ Object.defineProperty(Server.prototype, 'clusterTime', {
221
260
  this.s.topology.clusterTime = clusterTime;
222
261
  }
223
262
  });
224
- function supportsRetryableWrites(server) {
225
- return (server.description.maxWireVersion >= 6 &&
226
- server.description.logicalSessionTimeoutMinutes &&
227
- server.description.type !== common_1.ServerType.Standalone);
228
- }
229
263
  function calculateRoundTripTime(oldRtt, duration) {
230
264
  if (oldRtt === -1) {
231
265
  return duration;
@@ -234,6 +268,10 @@ function calculateRoundTripTime(oldRtt, duration) {
234
268
  return alpha * duration + (1 - alpha) * oldRtt;
235
269
  }
236
270
  function markServerUnknown(server, error) {
271
+ // Load balancer servers can never be marked unknown.
272
+ if (server.loadBalanced) {
273
+ return;
274
+ }
237
275
  if (error instanceof error_1.MongoNetworkError && !(error instanceof error_1.MongoNetworkTimeoutError)) {
238
276
  server[kMonitor].reset();
239
277
  }
@@ -242,7 +280,21 @@ function markServerUnknown(server, error) {
242
280
  topologyVersion: error && error.topologyVersion ? error.topologyVersion : server.description.topologyVersion
243
281
  }));
244
282
  }
283
+ function isPinnableCommand(cmd, session) {
284
+ if (session) {
285
+ return (session.inTransaction() ||
286
+ 'aggregate' in cmd ||
287
+ 'find' in cmd ||
288
+ 'getMore' in cmd ||
289
+ 'listCollections' in cmd ||
290
+ 'listIndexes' in cmd);
291
+ }
292
+ return false;
293
+ }
245
294
  function connectionIsStale(pool, connection) {
295
+ if (connection.serviceId) {
296
+ return (connection.generation !== pool.serviceGenerations.get(connection.serviceId.toHexString()));
297
+ }
246
298
  return connection.generation !== pool.generation;
247
299
  }
248
300
  function shouldHandleStateChangeError(server, err) {
@@ -266,14 +318,22 @@ function makeOperationHandler(server, connection, cmd, options, callback) {
266
318
  if (session && !session.hasEnded && session.serverSession) {
267
319
  session.serverSession.isDirty = true;
268
320
  }
321
+ // inActiveTransaction check handles commit and abort.
322
+ if (inActiveTransaction(session, cmd) && !err.hasErrorLabel('TransientTransactionError')) {
323
+ err.addErrorLabel('TransientTransactionError');
324
+ }
269
325
  if ((isRetryableWritesEnabled(server.s.topology) || transactions_1.isTransactionCommand(cmd)) &&
270
- supportsRetryableWrites(server) &&
326
+ utils_2.supportsRetryableWrites(server) &&
271
327
  !inActiveTransaction(session, cmd)) {
272
328
  err.addErrorLabel('RetryableWriteError');
273
329
  }
274
330
  if (!(err instanceof error_1.MongoNetworkTimeoutError) || error_1.isNetworkErrorBeforeHandshake(err)) {
275
- markServerUnknown(server, err);
276
- server.s.pool.clear();
331
+ // In load balanced mode we never mark the server as unknown and always
332
+ // clear for the specific service id.
333
+ server.s.pool.clear(connection.serviceId);
334
+ if (!server.loadBalanced) {
335
+ markServerUnknown(server, err);
336
+ }
277
337
  }
278
338
  }
279
339
  else {
@@ -287,13 +347,18 @@ function makeOperationHandler(server, connection, cmd, options, callback) {
287
347
  if (error_1.isSDAMUnrecoverableError(err)) {
288
348
  if (shouldHandleStateChangeError(server, err)) {
289
349
  if (utils_1.maxWireVersion(server) <= 7 || error_1.isNodeShuttingDownError(err)) {
290
- server.s.pool.clear();
350
+ server.s.pool.clear(connection.serviceId);
351
+ }
352
+ if (!server.loadBalanced) {
353
+ markServerUnknown(server, err);
354
+ process.nextTick(() => server.requestCheck());
291
355
  }
292
- markServerUnknown(server, err);
293
- process.nextTick(() => server.requestCheck());
294
356
  }
295
357
  }
296
358
  }
359
+ if (session && session.isPinned && err.hasErrorLabel('TransientTransactionError')) {
360
+ session.unpin({ force: true });
361
+ }
297
362
  }
298
363
  callback(err, result);
299
364
  };
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/sdam/server.ts"],"names":[],"mappings":";;;AAAA,sCAAmC;AACnC,6DAKiC;AACjC,6DAAiF;AACjF,uCAAoD;AACpD,kDAAuD;AACvD,oCAQkB;AAClB,qCAOkB;AAClB,oCASkB;AAClB,mDAO4B;AAW5B,gDAAmD;AAEnD,MAAM,eAAe,GAAG,wBAAgB,CAAC;IACvC,CAAC,qBAAY,CAAC,EAAE,CAAC,qBAAY,EAAE,yBAAgB,CAAC;IAChD,CAAC,yBAAgB,CAAC,EAAE,CAAC,yBAAgB,EAAE,sBAAa,EAAE,wBAAe,EAAE,qBAAY,CAAC;IACpF,CAAC,wBAAe,CAAC,EAAE,CAAC,wBAAe,EAAE,sBAAa,EAAE,qBAAY,CAAC;IACjE,CAAC,sBAAa,CAAC,EAAE,CAAC,sBAAa,EAAE,qBAAY,CAAC;CAC/C,CAAC,CAAC;AAEH,gBAAgB;AAChB,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AAqCnC,gBAAgB;AAChB,MAAa,MAAO,SAAQ,+BAA+B;IAuBzD;;OAEG;IACH,YAAY,QAAkB,EAAE,WAA8B,EAAE,OAAsB;QACpF,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QAEnC,MAAM,WAAW,GAAG,EAAE,WAAW,EAAE,WAAW,CAAC,WAAW,EAAE,GAAG,OAAO,EAAE,CAAC;QAEzE,IAAI,CAAC,CAAC,GAAG;YACP,WAAW;YACX,OAAO;YACP,MAAM,EAAE,IAAI,eAAM,CAAC,QAAQ,CAAC;YAC5B,KAAK,EAAE,qBAAY;YACnB,QAAQ;YACR,IAAI,EAAE,IAAI,gCAAc,CAAC,WAAW,CAAC;SACtC,CAAC;QAEF,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,6BAAW,EAAE,GAAG,uBAAU,CAAC,EAAE;YACnD,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;SACxD;QAED,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,uBAAU,CAAC,qBAAqB,EAAE,CAAC,WAAwB,EAAE,EAAE;YAC5E,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,qBAAqB;QACrB,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,iBAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAEnD,KAAK,MAAM,KAAK,IAAI,wBAAgB,EAAE;YACpC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;SAC3D;QAED,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;YAC5C,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,KAAiB,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QACxF,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,0BAA0B,EAAE,CAAC,KAAoC,EAAE,EAAE;YAC5F,IAAI,CAAC,IAAI,CACP,MAAM,CAAC,oBAAoB,EAC3B,IAAI,sCAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,EAAE;gBAC/D,aAAa,EAAE,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC;aACtF,CAAC,CACH,CAAC;YAEF,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,yBAAgB,EAAE;gBACrC,eAAe,CAAC,IAAI,EAAE,wBAAe,CAAC,CAAC;gBACvC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;aACjC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC;IACpC,CAAC;IAED,IAAI,aAAa;QACf,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE;YAClD,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;SACrC;IACH,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,qBAAY,EAAE;YACjC,OAAO;SACR;QAED,eAAe,CAAC,IAAI,EAAE,yBAAgB,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,oCAAoC;IACpC,OAAO,CAAC,OAAwB,EAAE,QAAmB;QACnD,IAAI,OAAO,OAAO,KAAK,UAAU;YAAE,CAAC,QAAQ,GAAG,OAAO,CAAC,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;QACxE,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;QAEvD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,qBAAY,EAAE;YACjC,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;gBAClC,QAAQ,EAAE,CAAC;aACZ;YAED,OAAO;SACR;QAED,eAAe,CAAC,IAAI,EAAE,sBAAa,CAAC,CAAC;QAErC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;YAC/B,eAAe,CAAC,IAAI,EAAE,qBAAY,CAAC,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpB,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;gBAClC,QAAQ,CAAC,GAAG,CAAC,CAAC;aACf;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,YAAY;QACV,IAAI,CAAC,QAAQ,CAAC,CAAC,YAAY,EAAE,CAAC;IAChC,CAAC;IAcD,OAAO,CACL,EAAoB,EACpB,GAAa,EACb,OAA6C,EAC7C,QAA6B;QAE7B,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;YACjC,CAAC,QAAQ,GAAG,OAAO,CAAC,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC,CAAC;SACjE;QAED,IAAI,QAAQ,IAAI,IAAI,EAAE;YACpB,MAAM,IAAI,wBAAgB,CAAC,2BAA2B,CAAC,CAAC;SACzD;QAED,IAAI,EAAE,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;YAC3C,MAAM,IAAI,wBAAgB,CAAC,yBAAyB,CAAC,CAAC;SACvD;QAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,sBAAa,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,qBAAY,EAAE;YACnE,QAAQ,CAAC,IAAI,wBAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAC;YACnD,OAAO;SACR;QAED,oBAAoB;QACpB,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC,CAAC;QAEhF,mCAAmC;QACnC,IAAI,6BAAqB,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;YACpC,QAAQ,CAAC,IAAI,wBAAgB,CAAC,UAAU,IAAI,CAAC,IAAI,6BAA6B,CAAC,CAAC,CAAC;YACjF,OAAO;SACR;QAED,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;YAC3C,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;gBAChB,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC7B,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;aAChB;YAED,IAAI,CAAC,OAAO,CACV,EAAE,EACF,GAAG,EACH,YAAY,EACZ,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,CAAuB,CAC9E,CAAC;QACJ,CAAC,EAAE,QAAQ,CAAC,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,EAAoB,EAAE,GAAa,EAAE,OAAqB,EAAE,QAAkB;QAClF,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,sBAAa,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,qBAAY,EAAE;YACnE,QAAQ,CAAC,IAAI,wBAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAC;YACnD,OAAO;SACR;QAED,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;YAC3C,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;gBAChB,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC7B,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;aAChB;YAED,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,CAAa,CAAC,CAAC;QAC/F,CAAC,EAAE,QAAQ,CAAC,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,OAAO,CACL,EAAoB,EACpB,QAAc,EACd,OAAuB,EACvB,QAA4B;QAE5B,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,sBAAa,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,qBAAY,EAAE;YACnE,QAAQ,CAAC,IAAI,wBAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAC;YACnD,OAAO;SACR;QAED,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;YAC3C,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;gBAChB,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC7B,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;aAChB;YAED,IAAI,CAAC,OAAO,CACV,EAAE,EACF,QAAQ,EACR,OAAO,EACP,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAa,CAC9D,CAAC;QACJ,CAAC,EAAE,QAAQ,CAAC,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,WAAW,CACT,EAAoB,EACpB,SAAiB,EACjB,OAAuB,EACvB,QAAmB;QAEnB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,sBAAa,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,qBAAY,EAAE;YACnE,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;gBAClC,QAAQ,CAAC,IAAI,wBAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAC;aACpD;YAED,OAAO;SACR;QAED,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;YAC3C,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;gBAChB,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC7B,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;aAChB;YAED,IAAI,CAAC,WAAW,CACd,EAAE,EACF,SAAS,EACT,OAAO,EACP,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,CAAa,CAChE,CAAC;QACJ,CAAC,EAAE,QAAQ,CAAC,CAAC;IACf,CAAC;;AApRH,wBAqRC;AA7QC,aAAa;AACG,+BAAwB,GAAG,wBAAiC,CAAC;AAC7E,aAAa;AACG,iCAA0B,GAAG,0BAAmC,CAAC;AACjF,aAAa;AACG,8BAAuB,GAAG,uBAAgC,CAAC;AAC3E,aAAa;AACG,cAAO,GAAG,SAAkB,CAAC;AAC7C,aAAa;AACG,2BAAoB,GAAG,qBAA8B,CAAC;AACtE,aAAa;AACG,aAAM,GAAG,QAAiB,CAAC;AAC3C,aAAa;AACG,YAAK,GAAG,OAAgB,CAAC;AAkQ9B,QAAA,gBAAgB,GAAG;IAC9B,MAAM,CAAC,wBAAwB;IAC/B,MAAM,CAAC,0BAA0B;IACjC,MAAM,CAAC,uBAAuB;CAC/B,CAAC;AAEF,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,EAAE;IACrD,GAAG;QACD,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;IACrC,CAAC;IACD,GAAG,CAAC,WAAwB;QAC1B,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,GAAG,WAAW,CAAC;IAC5C,CAAC;CACF,CAAC,CAAC;AAEH,SAAS,uBAAuB,CAAC,MAAc;IAC7C,OAAO,CACL,MAAM,CAAC,WAAW,CAAC,cAAc,IAAI,CAAC;QACtC,MAAM,CAAC,WAAW,CAAC,4BAA4B;QAC/C,MAAM,CAAC,WAAW,CAAC,IAAI,KAAK,mBAAU,CAAC,UAAU,CAClD,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAc,EAAE,QAAgB;IAC9D,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE;QACjB,OAAO,QAAQ,CAAC;KACjB;IAED,MAAM,KAAK,GAAG,GAAG,CAAC;IAClB,OAAO,KAAK,GAAG,QAAQ,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC;AACjD,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAc,EAAE,KAAkB;IAC3D,IAAI,KAAK,YAAY,yBAAiB,IAAI,CAAC,CAAC,KAAK,YAAY,gCAAwB,CAAC,EAAE;QACtF,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;KAC1B;IAED,MAAM,CAAC,IAAI,CACT,MAAM,CAAC,oBAAoB,EAC3B,IAAI,sCAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,SAAS,EAAE;QAC/D,KAAK;QACL,eAAe,EACb,KAAK,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,eAAe;KAC9F,CAAC,CACH,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAoB,EAAE,UAAsB;IACrE,OAAO,UAAU,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,CAAC;AACnD,CAAC;AAED,SAAS,4BAA4B,CAAC,MAAc,EAAE,GAAe;IACnE,MAAM,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC;IAChC,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC;IAC/C,OAAO,2CAAsB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAkC,EAAE,GAAa;IAC5E,OAAO,OAAO,IAAI,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,mCAAoB,CAAC,GAAG,CAAC,CAAC;AAC1E,CAAC;AAED;4DAC4D;AAC5D,SAAS,wBAAwB,CAAC,QAAkB;IAClD,OAAO,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,KAAK,KAAK,CAAC;AAClD,CAAC;AAED,SAAS,oBAAoB,CAC3B,MAAc,EACd,UAAsB,EACtB,GAAa,EACb,OAAoD,EACpD,QAAkB;IAElB,MAAM,OAAO,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC;IACjC,OAAO,SAAS,qBAAqB,CAAC,GAAG,EAAE,MAAM;QAC/C,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE;YACxD,IAAI,GAAG,YAAY,yBAAiB,EAAE;gBACpC,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,aAAa,EAAE;oBACzD,OAAO,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;iBACtC;gBAED,IACE,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,mCAAoB,CAAC,GAAG,CAAC,CAAC;oBAC1E,uBAAuB,CAAC,MAAM,CAAC;oBAC/B,CAAC,mBAAmB,CAAC,OAAO,EAAE,GAAG,CAAC,EAClC;oBACA,GAAG,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;iBAC1C;gBAED,IAAI,CAAC,CAAC,GAAG,YAAY,gCAAwB,CAAC,IAAI,qCAA6B,CAAC,GAAG,CAAC,EAAE;oBACpF,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;oBAC/B,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;iBACvB;aACF;iBAAM;gBACL,yEAAyE;gBACzE,IACE,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,mCAAoB,CAAC,GAAG,CAAC,CAAC;oBAC1E,sBAAc,CAAC,MAAM,CAAC,GAAG,CAAC;oBAC1B,6BAAqB,CAAC,GAAG,CAAC;oBAC1B,CAAC,mBAAmB,CAAC,OAAO,EAAE,GAAG,CAAC,EAClC;oBACA,GAAG,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;iBAC1C;gBAED,IAAI,gCAAwB,CAAC,GAAG,CAAC,EAAE;oBACjC,IAAI,4BAA4B,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;wBAC7C,IAAI,sBAAc,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,+BAAuB,CAAC,GAAG,CAAC,EAAE;4BAC/D,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;yBACvB;wBAED,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;wBAC/B,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;qBAC/C;iBACF;aACF;SACF;QAED,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACxB,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/sdam/server.ts"],"names":[],"mappings":"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"}
@@ -7,13 +7,15 @@ const bson_1 = require("../bson");
7
7
  const WRITABLE_SERVER_TYPES = new Set([
8
8
  common_1.ServerType.RSPrimary,
9
9
  common_1.ServerType.Standalone,
10
- common_1.ServerType.Mongos
10
+ common_1.ServerType.Mongos,
11
+ common_1.ServerType.LoadBalancer
11
12
  ]);
12
13
  const DATA_BEARING_SERVER_TYPES = new Set([
13
14
  common_1.ServerType.RSPrimary,
14
15
  common_1.ServerType.RSSecondary,
15
16
  common_1.ServerType.Mongos,
16
- common_1.ServerType.Standalone
17
+ common_1.ServerType.Standalone,
18
+ common_1.ServerType.LoadBalancer
17
19
  ]);
18
20
  /**
19
21
  * The client's view of a single server, based on the most recent ismaster outcome.
@@ -39,7 +41,7 @@ class ServerDescription {
39
41
  this._hostAddress = address;
40
42
  this.address = this._hostAddress.toString();
41
43
  }
42
- this.type = parseServerType(ismaster);
44
+ this.type = parseServerType(ismaster, options);
43
45
  this.hosts = (_b = (_a = ismaster === null || ismaster === void 0 ? void 0 : ismaster.hosts) === null || _a === void 0 ? void 0 : _a.map((host) => host.toLowerCase())) !== null && _b !== void 0 ? _b : [];
44
46
  this.passives = (_d = (_c = ismaster === null || ismaster === void 0 ? void 0 : ismaster.passives) === null || _c === void 0 ? void 0 : _c.map((host) => host.toLowerCase())) !== null && _d !== void 0 ? _d : [];
45
47
  this.arbiters = (_f = (_e = ismaster === null || ismaster === void 0 ? void 0 : ismaster.arbiters) === null || _e === void 0 ? void 0 : _e.map((host) => host.toLowerCase())) !== null && _f !== void 0 ? _f : [];
@@ -135,7 +137,10 @@ class ServerDescription {
135
137
  }
136
138
  exports.ServerDescription = ServerDescription;
137
139
  // Parses an `ismaster` message and determines the server type
138
- function parseServerType(ismaster) {
140
+ function parseServerType(ismaster, options) {
141
+ if (options === null || options === void 0 ? void 0 : options.loadBalanced) {
142
+ return common_1.ServerType.LoadBalancer;
143
+ }
139
144
  if (!ismaster || !ismaster.ok) {
140
145
  return common_1.ServerType.Unknown;
141
146
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server_description.js","sourceRoot":"","sources":["../../src/sdam/server_description.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server_description.js","sourceRoot":"","sources":["../../src/sdam/server_description.ts"],"names":[],"mappings":";;;AAAA,oCAAgF;AAChF,qCAAsC;AACtC,kCAAmD;AAInD,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAa;IAChD,mBAAU,CAAC,SAAS;IACpB,mBAAU,CAAC,UAAU;IACrB,mBAAU,CAAC,MAAM;IACjB,mBAAU,CAAC,YAAY;CACxB,CAAC,CAAC;AAEH,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAa;IACpD,mBAAU,CAAC,SAAS;IACpB,mBAAU,CAAC,WAAW;IACtB,mBAAU,CAAC,MAAM;IACjB,mBAAU,CAAC,UAAU;IACrB,mBAAU,CAAC,YAAY;CACxB,CAAC,CAAC;AA0BH;;;;;GAKG;AACH,MAAa,iBAAiB;IA2B5B;;;;;;OAMG;IACH,YACE,OAA6B,EAC7B,QAAmB,EACnB,OAAkC;;QAElC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC/B,IAAI,CAAC,YAAY,GAAG,IAAI,mBAAW,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;SAC7C;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;YAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;SAC7C;QACD,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK,GAAG,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,0CAAE,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,mCAAI,EAAE,CAAC;QAC9E,IAAI,CAAC,QAAQ,GAAG,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,0CAAE,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,mCAAI,EAAE,CAAC;QACpF,IAAI,CAAC,QAAQ,GAAG,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,0CAAE,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,mCAAI,EAAE,CAAC;QACpF,IAAI,CAAC,IAAI,GAAG,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,mCAAI,EAAE,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,cAAc,mCAAI,CAAC,CAAC;QACpD,IAAI,CAAC,cAAc,GAAG,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,cAAc,mCAAI,CAAC,CAAC;QACpD,IAAI,CAAC,aAAa,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,mCAAI,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,cAAc,GAAG,WAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,SAAS,0CAAE,aAAa,mCAAI,CAAC,CAAC;QAE7D,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,EAAE;YAC5B,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;SAChD;aAAM,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,eAAe,EAAE;YACpC,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC;SACjD;QAED,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,EAAE;YAClB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;SAC5B;QAED,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,EAAE;YACrB,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;SACjC;QAED,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,EAAE,EAAE;YAChB,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;SACrC;QAED,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,EAAE;YACrB,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;SACjC;QAED,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,EAAE;YACxB,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;SACvC;QAED,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,EAAE;YACxB,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;SACvC;QAED,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,4BAA4B,EAAE;YAC1C,IAAI,CAAC,4BAA4B,GAAG,QAAQ,CAAC,4BAA4B,CAAC;SAC3E;QAED,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,YAAY,EAAE;YAC1B,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;SAC3C;IACH,CAAC;IAED,IAAI,WAAW;QACb,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC,YAAY,CAAC;;YAC3C,OAAO,IAAI,mBAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChE,CAAC;IAED,wCAAwC;IACxC,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,IAAI,KAAK,mBAAU,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC;IACjE,CAAC;IAED,kCAAkC;IAClC,IAAI,aAAa;QACf,OAAO,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,0CAA0C;IAC1C,IAAI,UAAU;QACZ,OAAO,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,IAAI;QACN,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;QAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,IAAI;QACN,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAClD,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAwB;QAC7B,MAAM,qBAAqB,GACzB,IAAI,CAAC,eAAe,KAAK,KAAK,CAAC,eAAe;YAC9C,sBAAsB,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAE5E,MAAM,gBAAgB,GACpB,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU;YACjC,CAAC,CAAC,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;YAC9D,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,CAAC;QAE3C,OAAO,CACL,KAAK,IAAI,IAAI;YACb,wBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;YACzC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;YACxB,IAAI,CAAC,cAAc,KAAK,KAAK,CAAC,cAAc;YAC5C,wBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;YACzC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;YACtC,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;YAC9B,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU;YACpC,gBAAgB;YAChB,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;YAC9B,IAAI,CAAC,4BAA4B,KAAK,KAAK,CAAC,4BAA4B;YACxE,qBAAqB,CACtB,CAAC;IACJ,CAAC;CACF;AA/JD,8CA+JC;AAED,8DAA8D;AAC9D,SAAgB,eAAe,CAC7B,QAAmB,EACnB,OAAkC;IAElC,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,EAAE;QACzB,OAAO,mBAAU,CAAC,YAAY,CAAC;KAChC;IAED,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;QAC7B,OAAO,mBAAU,CAAC,OAAO,CAAC;KAC3B;IAED,IAAI,QAAQ,CAAC,YAAY,EAAE;QACzB,OAAO,mBAAU,CAAC,OAAO,CAAC;KAC3B;IAED,IAAI,QAAQ,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,KAAK,UAAU,EAAE;QAC/C,OAAO,mBAAU,CAAC,MAAM,CAAC;KAC1B;IAED,IAAI,QAAQ,CAAC,OAAO,EAAE;QACpB,IAAI,QAAQ,CAAC,MAAM,EAAE;YACnB,OAAO,mBAAU,CAAC,OAAO,CAAC;SAC3B;aAAM,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,iBAAiB,EAAE;YAC1D,OAAO,mBAAU,CAAC,SAAS,CAAC;SAC7B;aAAM,IAAI,QAAQ,CAAC,SAAS,EAAE;YAC7B,OAAO,mBAAU,CAAC,WAAW,CAAC;SAC/B;aAAM,IAAI,QAAQ,CAAC,WAAW,EAAE;YAC/B,OAAO,mBAAU,CAAC,SAAS,CAAC;SAC7B;aAAM;YACL,OAAO,mBAAU,CAAC,OAAO,CAAC;SAC3B;KACF;IAED,OAAO,mBAAU,CAAC,UAAU,CAAC;AAC/B,CAAC;AAnCD,0CAmCC;AAED,SAAS,eAAe,CAAC,IAAY,EAAE,KAAa;IAClD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAErC,OAAO,CACL,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM;QACpC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAC1D,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,sBAAsB,CAAC,GAAqB,EAAE,GAAqB;IACjF,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE;QAC9B,OAAO,CAAC,CAAC,CAAC;KACX;IAED,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;QACvC,6FAA6F;QAC7F,MAAM,UAAU,GAAG,WAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,WAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzF,MAAM,UAAU,GAAG,WAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,WAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzF,OAAO,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;KACvC;IAED,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAbD,wDAaC"}
@@ -30,10 +30,10 @@ function maxStalenessReducer(readPreference, topologyDescription, servers) {
30
30
  const maxStaleness = readPreference.maxStalenessSeconds;
31
31
  const maxStalenessVariance = (topologyDescription.heartbeatFrequencyMS + IDLE_WRITE_PERIOD) / 1000;
32
32
  if (maxStaleness < maxStalenessVariance) {
33
- throw new error_1.MongoDriverError(`maxStalenessSeconds must be at least ${maxStalenessVariance} seconds`);
33
+ throw new error_1.MongoInvalidArgumentError(`Option "maxStalenessSeconds" must be at least ${maxStalenessVariance} seconds`);
34
34
  }
35
35
  if (maxStaleness < SMALLEST_MAX_STALENESS_SECONDS) {
36
- throw new error_1.MongoDriverError(`maxStalenessSeconds must be at least ${SMALLEST_MAX_STALENESS_SECONDS} seconds`);
36
+ throw new error_1.MongoInvalidArgumentError(`Option "maxStalenessSeconds" must be at least ${SMALLEST_MAX_STALENESS_SECONDS} seconds`);
37
37
  }
38
38
  if (topologyDescription.type === common_1.TopologyType.ReplicaSetWithPrimary) {
39
39
  const primary = Array.from(topologyDescription.servers.values()).filter(primaryFilter)[0];
@@ -142,6 +142,9 @@ function nearestFilter(server) {
142
142
  function knownFilter(server) {
143
143
  return server.type !== common_1.ServerType.Unknown;
144
144
  }
145
+ function loadBalancerFilter(server) {
146
+ return server.type === common_1.ServerType.LoadBalancer;
147
+ }
145
148
  /**
146
149
  * Returns a function which selects servers based on a provided read preference
147
150
  *
@@ -149,14 +152,17 @@ function knownFilter(server) {
149
152
  */
150
153
  function readPreferenceServerSelector(readPreference) {
151
154
  if (!readPreference.isValid()) {
152
- throw new error_1.MongoDriverError('Invalid read preference specified');
155
+ throw new error_1.MongoInvalidArgumentError('Invalid read preference specified');
153
156
  }
154
157
  return (topologyDescription, servers) => {
155
158
  const commonWireVersion = topologyDescription.commonWireVersion;
156
159
  if (commonWireVersion &&
157
160
  readPreference.minWireVersion &&
158
161
  readPreference.minWireVersion > commonWireVersion) {
159
- throw new error_1.MongoDriverError(`Minimum wire version '${readPreference.minWireVersion}' required, but found '${commonWireVersion}'`);
162
+ throw new error_1.MongoCompatibilityError(`Minimum wire version '${readPreference.minWireVersion}' required, but found '${commonWireVersion}'`);
163
+ }
164
+ if (topologyDescription.type === common_1.TopologyType.LoadBalanced) {
165
+ return servers.filter(loadBalancerFilter);
160
166
  }
161
167
  if (topologyDescription.type === common_1.TopologyType.Unknown) {
162
168
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"server_selection.js","sourceRoot":"","sources":["../../src/sdam/server_selection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server_selection.js","sourceRoot":"","sources":["../../src/sdam/server_selection.ts"],"names":[],"mappings":"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"}
@@ -41,7 +41,7 @@ class SrvPoller extends mongo_types_1.TypedEventEmitter {
41
41
  constructor(options) {
42
42
  super();
43
43
  if (!options || !options.srvHost) {
44
- throw new error_1.MongoDriverError('options for SrvPoller must exist and include srvHost');
44
+ throw new error_1.MongoRuntimeError('Options for SrvPoller must exist and include srvHost');
45
45
  }
46
46
  this.srvHost = options.srvHost;
47
47
  this.rescanSrvIntervalMS = 60000;
@@ -1 +1 @@
1
- {"version":3,"file":"srv_polling.js","sourceRoot":"","sources":["../../src/sdam/srv_polling.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"srv_polling.js","sourceRoot":"","sources":["../../src/sdam/srv_polling.ts"],"names":[],"mappings":"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"}