@resolveio/server-lib 20.12.62 → 20.12.64

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.
@@ -111,7 +111,6 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
111
111
  Object.defineProperty(exports, "__esModule", { value: true });
112
112
  exports.MongoManagerUserCollection = exports.MongoManagerCollection = exports.MongoManagerModel = exports.MongoManager = void 0;
113
113
  var NodeCache = require("node-cache");
114
- var os_1 = require("os");
115
114
  var simpl_schema_1 = require("simpl-schema");
116
115
  var user_collection_1 = require("../collections/user.collection");
117
116
  var resolveio_server_app_1 = require("../resolveio-server-app");
@@ -121,10 +120,19 @@ var subscription_dependency_context_1 = require("../util/subscription-dependency
121
120
  var monitor_manager_1 = require("./monitor.manager");
122
121
  var crypto = require('crypto');
123
122
  var scmp = require('scmp');
124
- var numCPUs = (0, os_1.cpus)().length;
125
123
  var v8 = require('v8');
126
124
  var AsyncLocalStorage = require('async_hooks').AsyncLocalStorage;
127
125
  var asyncLocalStorage = new AsyncLocalStorage();
126
+ function resolveHeapLimitBytes() {
127
+ var stats = v8.getHeapStatistics();
128
+ if (stats && typeof stats.heap_size_limit === 'number') {
129
+ return stats.heap_size_limit;
130
+ }
131
+ if (stats && typeof stats.total_available_size === 'number') {
132
+ return stats.total_available_size;
133
+ }
134
+ return 0;
135
+ }
128
136
  function buildQueryMetaFromFindOptions(options) {
129
137
  if (!options) {
130
138
  return null;
@@ -146,7 +154,7 @@ var MongoManager = /** @class */ (function () {
146
154
  this._collections = [];
147
155
  this._cacheMap = [];
148
156
  this._operationInProgress = new Map();
149
- this._heapSize = v8.getHeapStatistics() / numCPUs;
157
+ this._heapSize = resolveHeapLimitBytes();
150
158
  this._serverCollections = [];
151
159
  this._isWorkersEnabled = false;
152
160
  this._isWorkerInstance = false;