From 432d4325610fc50ac13051c82baadeea523fdc8a Mon Sep 17 00:00:00 2001 From: Pavel Murygin Date: Fri, 4 Nov 2022 15:47:20 +0400 Subject: [PATCH 1/6] Just try to not removing handlers --- packages/fluence-js/src/internal/FluencePeer.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/fluence-js/src/internal/FluencePeer.ts b/packages/fluence-js/src/internal/FluencePeer.ts index 427dc107a..9e0f36015 100644 --- a/packages/fluence-js/src/internal/FluencePeer.ts +++ b/packages/fluence-js/src/internal/FluencePeer.ts @@ -590,7 +590,8 @@ export class FluencePeer { ); this._particleQueues.delete(particleId); - this._particleSpecificHandlers.delete(particleId); + // just try not to removing handlers :)) + // this._particleSpecificHandlers.delete(particleId); item.onStageChange({ stage: 'expired' }); } From cb25e6453d6dd96e1d58ce43d412b6aa1f613716 Mon Sep 17 00:00:00 2001 From: Pavel Murygin Date: Tue, 29 Nov 2022 09:57:06 +0400 Subject: [PATCH 2/6] Revert "Just try to not removing handlers" This reverts commit 432d4325610fc50ac13051c82baadeea523fdc8a. --- packages/fluence-js/src/internal/FluencePeer.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/fluence-js/src/internal/FluencePeer.ts b/packages/fluence-js/src/internal/FluencePeer.ts index 9e0f36015..427dc107a 100644 --- a/packages/fluence-js/src/internal/FluencePeer.ts +++ b/packages/fluence-js/src/internal/FluencePeer.ts @@ -590,8 +590,7 @@ export class FluencePeer { ); this._particleQueues.delete(particleId); - // just try not to removing handlers :)) - // this._particleSpecificHandlers.delete(particleId); + this._particleSpecificHandlers.delete(particleId); item.onStageChange({ stage: 'expired' }); } From f1b6e530e05d8c7dde79d868a4585aa6accd2b67 Mon Sep 17 00:00:00 2001 From: Pavel Murygin Date: Tue, 29 Nov 2022 10:14:50 +0400 Subject: [PATCH 3/6] Trying a fix --- packages/fluence-js/src/internal/FluencePeer.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/fluence-js/src/internal/FluencePeer.ts b/packages/fluence-js/src/internal/FluencePeer.ts index 427dc107a..835cbdb82 100644 --- a/packages/fluence-js/src/internal/FluencePeer.ts +++ b/packages/fluence-js/src/internal/FluencePeer.ts @@ -690,6 +690,11 @@ export class FluencePeer { // execute call requests if needed // and put particle with the results back to queue if (item.result.callRequests.length > 0) { + if (item.particle.hasExpired()) { + // just in case do not call any services if the particle is already expired + return; + } + for (const [key, cr] of item.result.callRequests) { const req = { fnName: cr.functionName, From b6519001b095d68e760a2a2b36893bc6e851dec0 Mon Sep 17 00:00:00 2001 From: Pavel Murygin Date: Tue, 29 Nov 2022 23:39:07 +0400 Subject: [PATCH 4/6] trying a different way --- packages/fluence-js/src/internal/FluencePeer.ts | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/packages/fluence-js/src/internal/FluencePeer.ts b/packages/fluence-js/src/internal/FluencePeer.ts index 835cbdb82..3828194c6 100644 --- a/packages/fluence-js/src/internal/FluencePeer.ts +++ b/packages/fluence-js/src/internal/FluencePeer.ts @@ -690,11 +690,6 @@ export class FluencePeer { // execute call requests if needed // and put particle with the results back to queue if (item.result.callRequests.length > 0) { - if (item.particle.hasExpired()) { - // just in case do not call any services if the particle is already expired - return; - } - for (const [key, cr] of item.result.callRequests) { const req = { fnName: cr.functionName, @@ -704,6 +699,10 @@ export class FluencePeer { particleContext: item.particle.getParticleContext(), }; + if (item.particle.hasExpired()) { + // just in case do not call any services if the particle is already expired + return; + } this._execSingleCallRequest(req) .catch((err): CallServiceResult => { if (err instanceof ServiceError) { From 3572f9de804c53fdae0e4aeba100d769a0393e02 Mon Sep 17 00:00:00 2001 From: Pavel Murygin Date: Mon, 12 Dec 2022 13:48:29 +0400 Subject: [PATCH 5/6] Bump version --- packages/fluence-js/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/fluence-js/package.json b/packages/fluence-js/package.json index a3b65b93b..03d2a2039 100644 --- a/packages/fluence-js/package.json +++ b/packages/fluence-js/package.json @@ -1,6 +1,6 @@ { "name": "@fluencelabs/fluence", - "version": "0.27.3", + "version": "0.27.4", "description": "TypeScript implementation of Fluence Peer", "main": "./dist/index.js", "typings": "./dist/index.d.ts", From fa6b8affd6cc2138c3efbceb5d18e77b826cc807 Mon Sep 17 00:00:00 2001 From: Pavel Murygin Date: Mon, 12 Dec 2022 13:55:52 +0400 Subject: [PATCH 6/6] fix review comment --- packages/fluence-js/src/internal/FluencePeer.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/fluence-js/src/internal/FluencePeer.ts b/packages/fluence-js/src/internal/FluencePeer.ts index 3828194c6..d235e9142 100644 --- a/packages/fluence-js/src/internal/FluencePeer.ts +++ b/packages/fluence-js/src/internal/FluencePeer.ts @@ -655,6 +655,11 @@ export class FluencePeer { return; } + // Do not proceed further if the particle is expired + if (item.particle.hasExpired()) { + return; + } + // Do not continue if there was an error in particle interpretation if (item.result instanceof Error) { log.error('Interpreter failed: ', jsonify(item.result.message));