From 9aec7ffd2a9a30a614d279c225251050dfa6e822 Mon Sep 17 00:00:00 2001 From: sapthasurendran Date: Fri, 10 Sep 2021 13:50:20 +0530 Subject: [PATCH] Clear Transaction when no contract found Signed-off-by: sapthasurendran --- .../rest-api-typescript/src/fabric.spec.ts | 12 ++++++++++++ .../rest-api-typescript/src/fabric.ts | 1 + 2 files changed, 13 insertions(+) diff --git a/asset-transfer-basic/rest-api-typescript/src/fabric.spec.ts b/asset-transfer-basic/rest-api-typescript/src/fabric.spec.ts index b74ddf7a..8f915849 100644 --- a/asset-transfer-basic/rest-api-typescript/src/fabric.spec.ts +++ b/asset-transfer-basic/rest-api-typescript/src/fabric.spec.ts @@ -280,6 +280,18 @@ describe('Fabric', () => { const index = await redis.zrange('index:txn:timestamp', 0, -1); expect(index).toStrictEqual([]); }); + + it('starts a retry loop which clears the saved details when no contract exist for the org', async () => { + addMockTransationDetails(redis); + mockContracts = new Map(); + startRetryLoop(mockContracts, redis); + jest.runOnlyPendingTimers(); + await flushPromises(); + + const index = await redis.zrange('index:txn:timestamp', 0, -1); + expect(index).toStrictEqual([]); + }); + }); describe('evatuateTransaction', () => { diff --git a/asset-transfer-basic/rest-api-typescript/src/fabric.ts b/asset-transfer-basic/rest-api-typescript/src/fabric.ts index 363f9c72..8a99d7cf 100644 --- a/asset-transfer-basic/rest-api-typescript/src/fabric.ts +++ b/asset-transfer-basic/rest-api-typescript/src/fabric.ts @@ -145,6 +145,7 @@ export const startRetryLoop = ( if (contract) { await retryTransaction(contract, redis, savedTransaction); } else { + clearTransactionDetails(redis,savedTransaction.transactionId) logger.error( 'No contract found for %s to retry transaction %s', savedTransaction.mspId,