Skip to content

Commit e82e23a

Browse files
siddhant1Siddhantclaude
authored andcommitted
fix(test): disable entity teardown to prevent AUT OOM kills (exit 137) (#26888)
The teardown fires 60+ concurrent cascade DELETE requests via Promise.allSettled(), spiking container memory to ~8.84 GiB and causing GC thrashing followed by OOM kill. Temporarily no-op the cleanup while monitoring AUT stability. Co-authored-by: Siddhant <siddhant@MacBook-Pro-407.local> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> (cherry picked from commit 88e240b)
1 parent 5fe0edd commit e82e23a

2 files changed

Lines changed: 5 additions & 71 deletions

File tree

openmetadata-ui/src/main/resources/ui/playwright/e2e/entity-data.teardown.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,14 @@
1313
import { test as teardown } from '@playwright/test';
1414
import * as fs from 'fs';
1515
import * as path from 'path';
16-
import { EntityDataClass } from '../support/entity/EntityDataClass';
1716
import { performAdminLogin } from '../utils/admin';
1817

1918
teardown('cleanup entity data prerequisites', async ({ browser }) => {
2019
teardown.setTimeout(300 * 1000);
2120

22-
const { apiContext, afterAction } = await performAdminLogin(browser);
21+
const { afterAction } = await performAdminLogin(browser);
2322

2423
try {
25-
await EntityDataClass.postRequisitesForTests(apiContext);
26-
2724
const filePath = path.join(
2825
__dirname,
2926
'..',

openmetadata-ui/src/main/resources/ui/playwright/support/entity/EntityDataClass.ts

Lines changed: 4 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -245,73 +245,10 @@ export class EntityDataClass {
245245
await Promise.allSettled(dependentEntityCreationPromises);
246246
}
247247

248-
static async postRequisitesForTests(apiContext: APIRequestContext) {
249-
const promises = [
250-
this.domain1.delete(apiContext),
251-
this.domain2.delete(apiContext),
252-
this.glossary1.delete(apiContext),
253-
this.glossary2.delete(apiContext),
254-
this.user1.delete(apiContext),
255-
this.user2.delete(apiContext),
256-
this.user3.delete(apiContext),
257-
this.team1.delete(apiContext),
258-
this.team2.delete(apiContext),
259-
this.certificationTag1.delete(apiContext),
260-
this.certificationTag2.delete(apiContext),
261-
this.tierTag1.delete(apiContext),
262-
this.classification1.delete(apiContext),
263-
this.glossaryTerm1.delete(apiContext),
264-
this.glossaryTerm2.delete(apiContext),
265-
this.dataProduct1.delete(apiContext),
266-
this.dataProduct2.delete(apiContext),
267-
this.dataProduct3.delete(apiContext),
268-
this.tag1.delete(apiContext),
269-
this.table1.delete(apiContext),
270-
this.table2.delete(apiContext),
271-
this.topic1.delete(apiContext),
272-
this.topic2.delete(apiContext),
273-
this.dashboard1.delete(apiContext),
274-
this.dashboard2.delete(apiContext),
275-
this.mlModel1.delete(apiContext),
276-
this.mlModel2.delete(apiContext),
277-
this.pipeline1.delete(apiContext),
278-
this.pipeline2.delete(apiContext),
279-
this.dashboardDataModel1.delete(apiContext),
280-
this.dashboardDataModel2.delete(apiContext),
281-
this.apiCollection1.delete(apiContext),
282-
this.apiCollection2.delete(apiContext),
283-
this.apiEndpoint1.delete(apiContext),
284-
this.apiEndpoint2.delete(apiContext),
285-
this.storedProcedure1.delete(apiContext),
286-
this.storedProcedure2.delete(apiContext),
287-
this.searchIndex1.delete(apiContext),
288-
this.searchIndex2.delete(apiContext),
289-
this.container1.delete(apiContext),
290-
this.container2.delete(apiContext),
291-
this.databaseService.delete(apiContext),
292-
this.database.delete(apiContext),
293-
this.databaseSchema.delete(apiContext),
294-
this.apiService.delete(apiContext),
295-
this.dashboardService.delete(apiContext),
296-
this.messagingService.delete(apiContext),
297-
this.mlmodelService.delete(apiContext),
298-
this.pipelineService.delete(apiContext),
299-
this.searchIndexService.delete(apiContext),
300-
this.storageService.delete(apiContext),
301-
this.metric1.delete(apiContext),
302-
this.chart1.delete(apiContext),
303-
this.driveService.delete(apiContext),
304-
this.directory1.delete(apiContext),
305-
this.directory2.delete(apiContext),
306-
this.file1.delete(apiContext),
307-
this.file2.delete(apiContext),
308-
this.spreadsheet1.delete(apiContext),
309-
this.spreadsheet2.delete(apiContext),
310-
this.worksheet1.delete(apiContext),
311-
this.worksheet2.delete(apiContext),
312-
];
313-
314-
return await Promise.allSettled(promises);
248+
static async postRequisitesForTests(_apiContext: APIRequestContext) {
249+
// Temporary: entity teardown removed to prevent OOM kills (exit 137)
250+
// caused by 60+ concurrent cascade DELETE requests spiking memory.
251+
// Monitoring AUT runs to confirm stability before deciding on permanent approach.
315252
}
316253

317254
static saveResponseData() {

0 commit comments

Comments
 (0)