diff --git a/plugins/search-backend-module-pg/src/PgSearchEngine/PgSearchEngineIndexer.test.ts b/plugins/search-backend-module-pg/src/PgSearchEngine/PgSearchEngineIndexer.test.ts index a8e010dea5..d614185b7c 100644 --- a/plugins/search-backend-module-pg/src/PgSearchEngine/PgSearchEngineIndexer.test.ts +++ b/plugins/search-backend-module-pg/src/PgSearchEngine/PgSearchEngineIndexer.test.ts @@ -23,6 +23,7 @@ describe('PgSearchEngineIndexer', () => { const tx = { rollback: jest.fn(), commit: jest.fn(), + isCompleted: jest.fn(), } as any; let database: jest.Mocked; let indexer: PgSearchEngineIndexer; @@ -37,6 +38,7 @@ describe('PgSearchEngineIndexer', () => { completeInsert: jest.fn(), prepareInsert: jest.fn(), }; + tx.isCompleted.mockReturnValue(false); indexer = new PgSearchEngineIndexer({ batchSize: 100, type: 'my-type', diff --git a/plugins/search-backend-module-pg/src/PgSearchEngine/PgSearchEngineIndexer.ts b/plugins/search-backend-module-pg/src/PgSearchEngine/PgSearchEngineIndexer.ts index a0ad3ee7d9..47ea812a92 100644 --- a/plugins/search-backend-module-pg/src/PgSearchEngine/PgSearchEngineIndexer.ts +++ b/plugins/search-backend-module-pg/src/PgSearchEngine/PgSearchEngineIndexer.ts @@ -113,11 +113,10 @@ export class PgSearchEngineIndexer extends BatchSearchEngineIndexer { return; } - try { - this.tx!.rollback(error); - } catch { - // Unlikely! It was likely rolled back earlier. + if (!this.tx!.isCompleted()) { + await this.tx!.rollback(error); } + done(error); } }