neo4j-driver-core
Advanced tools
Comparing version 5.24.0 to 5.24.1
@@ -273,3 +273,3 @@ "use strict"; | ||
return __awaiter(this, void 0, void 0, function () { | ||
var key, pool, resource_1, numConnections, resource, numConnections, resource_2; | ||
var key, pool, resource_1, valid, e_1, numConnections, resource, numConnections, resource_2; | ||
var _this = this; | ||
@@ -284,6 +284,6 @@ return __generator(this, function (_a) { | ||
pool = this._getOrInitializePoolFor(key); | ||
if (!!requireNew) return [3 /*break*/, 6]; | ||
if (!!requireNew) return [3 /*break*/, 9]; | ||
_a.label = 1; | ||
case 1: | ||
if (!(pool.length > 0)) return [3 /*break*/, 6]; | ||
if (!(pool.length > 0)) return [3 /*break*/, 9]; | ||
resource_1 = pool.pop(); | ||
@@ -293,10 +293,24 @@ if (resource_1 == null) { | ||
} | ||
resourceAcquired(key, this._activeResourceCounts); | ||
if (this._removeIdleObserver != null) { | ||
this._removeIdleObserver(resource_1); | ||
} | ||
valid = false; | ||
_a.label = 2; | ||
case 2: | ||
_a.trys.push([2, 4, , 5]); | ||
return [4 /*yield*/, this._validateOnAcquire(acquisitionContext, resource_1)]; | ||
case 2: | ||
if (!_a.sent()) return [3 /*break*/, 3]; | ||
case 3: | ||
valid = _a.sent(); | ||
return [3 /*break*/, 5]; | ||
case 4: | ||
e_1 = _a.sent(); | ||
if (this._log.isErrorEnabled()) { | ||
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions | ||
this._log.error("Failure on validate ".concat(resource_1, ". This is a bug, please report it. Caused by: ").concat(e_1.message)); | ||
} | ||
return [3 /*break*/, 5]; | ||
case 5: | ||
if (!valid) return [3 /*break*/, 6]; | ||
// idle resource is valid and can be acquired | ||
resourceAcquired(key, this._activeResourceCounts); | ||
if (this._log.isDebugEnabled()) { | ||
@@ -307,10 +321,11 @@ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions | ||
return [2 /*return*/, { resource: resource_1, pool: pool }]; | ||
case 3: | ||
case 6: | ||
resourceReleased(key, this._activeResourceCounts); | ||
pool.removeInUse(resource_1); | ||
return [4 /*yield*/, this._destroy(resource_1)]; | ||
case 4: | ||
case 7: | ||
_a.sent(); | ||
_a.label = 5; | ||
case 5: return [3 /*break*/, 1]; | ||
case 6: | ||
_a.label = 8; | ||
case 8: return [3 /*break*/, 1]; | ||
case 9: | ||
// Ensure requested max pool size | ||
@@ -327,9 +342,9 @@ if (this._maxSize > 0) { | ||
this._pendingCreates[key] = this._pendingCreates[key] + 1; | ||
_a.label = 7; | ||
case 7: | ||
_a.trys.push([7, , 11, 12]); | ||
_a.label = 10; | ||
case 10: | ||
_a.trys.push([10, , 14, 15]); | ||
numConnections = this.activeResourceCount(address) + pool.length; | ||
if (!(numConnections >= this._maxSize && requireNew)) return [3 /*break*/, 9]; | ||
if (!(numConnections >= this._maxSize && requireNew)) return [3 /*break*/, 12]; | ||
resource_2 = pool.pop(); | ||
if (!(resource_2 != null)) return [3 /*break*/, 9]; | ||
if (!(resource_2 != null)) return [3 /*break*/, 12]; | ||
if (this._removeIdleObserver != null) { | ||
@@ -340,6 +355,6 @@ this._removeIdleObserver(resource_2); | ||
return [4 /*yield*/, this._destroy(resource_2)]; | ||
case 8: | ||
case 11: | ||
_a.sent(); | ||
_a.label = 9; | ||
case 9: return [4 /*yield*/, this._create(acquisitionContext, address, function (address, resource) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) { | ||
_a.label = 12; | ||
case 12: return [4 /*yield*/, this._create(acquisitionContext, address, function (address, resource) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) { | ||
switch (_a.label) { | ||
@@ -350,3 +365,3 @@ case 0: return [4 /*yield*/, this._release(address, resource, pool)]; | ||
}); }); })]; | ||
case 10: | ||
case 13: | ||
// Invoke callback that creates actual connection | ||
@@ -360,7 +375,7 @@ resource = _a.sent(); | ||
} | ||
return [3 /*break*/, 12]; | ||
case 11: | ||
return [3 /*break*/, 15]; | ||
case 14: | ||
this._pendingCreates[key] = this._pendingCreates[key] - 1; | ||
return [7 /*endfinally*/]; | ||
case 12: return [2 /*return*/, { resource: resource, pool: pool }]; | ||
case 15: return [2 /*return*/, { resource: resource, pool: pool }]; | ||
} | ||
@@ -367,0 +382,0 @@ }); |
{ | ||
"name": "neo4j-driver-core", | ||
"version": "5.24.0", | ||
"version": "5.24.1", | ||
"description": "Internals of neo4j-driver", | ||
@@ -48,3 +48,3 @@ "main": "lib/index.js", | ||
}, | ||
"gitHead": "4e3806426449c49fbd4306f22552a941ad570fd0" | ||
"gitHead": "5768703f1ee332001f45f4b3c533d8f51963428f" | ||
} |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
776914
18269