Skip to content

Commit ee39803

Browse files
committed
fix up
1 parent de27f68 commit ee39803

File tree

4 files changed

+27
-12
lines changed

4 files changed

+27
-12
lines changed

components/gitpod-db/src/typeorm/entity/db-prebuilt-workspace-updatable.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,4 +59,8 @@ export class DBPrebuiltWorkspaceUpdatable implements PrebuiltWorkspaceUpdatable
5959
transformer: Transformer.MAP_EMPTY_STR_TO_UNDEFINED,
6060
})
6161
label?: string;
62+
63+
// This column triggers the db-sync deletion mechanism. It's not intended for public consumption.
64+
@Column()
65+
deleted?: boolean;
6266
}

components/gitpod-db/src/typeorm/entity/db-prebuilt-workspace.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,4 +77,8 @@ export class DBPrebuiltWorkspace implements PrebuiltWorkspace {
7777
transformer: Transformer.MAP_BIGINT_TO_NUMBER,
7878
})
7979
statusVersion: number;
80+
81+
// This column triggers the db-sync deletion mechanism. It's not intended for public consumption.
82+
@Column()
83+
deleted?: boolean;
8084
}

components/gitpod-db/src/typeorm/metrics.ts

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ export function registerDBMetrics(registry: prometheusClient.Registry) {
1616
const workspacesPurgedTotal = new prometheusClient.Counter({
1717
name: "gitpod_server_workspaces_purged_total",
1818
help: "Counter of workspaces hard deleted by periodic gc.",
19-
registers: [prometheusClient.register],
2019
});
2120

2221
export function reportWorkspacePurged(count: number) {
@@ -26,7 +25,6 @@ export function reportWorkspacePurged(count: number) {
2625
const prebuildWorkspacesPurgedTotal = new prometheusClient.Counter({
2726
name: "gitpod_server_prebuild_workspaces_purged_total",
2827
help: "Counter of prebuild workspaces hard deleted by periodic gc.",
29-
registers: [prometheusClient.register],
3028
});
3129

3230
export function reportPrebuiltWorkspacePurged(count: number) {
@@ -36,7 +34,6 @@ export function reportPrebuiltWorkspacePurged(count: number) {
3634
const prebuildInfoPurgedTotal = new prometheusClient.Counter({
3735
name: "gitpod_server_prebuild_info_purged_total",
3836
help: "Counter of prebuild info records hard deleted by periodic gc.",
39-
registers: [prometheusClient.register],
4037
});
4138

4239
export function reportPrebuildInfoPurged(count: number) {
@@ -46,9 +43,17 @@ export function reportPrebuildInfoPurged(count: number) {
4643
const workspaceInstancePurgedTotal = new prometheusClient.Counter({
4744
name: "gitpod_server_workspace_instances_purged_total",
4845
help: "Counter of workspace instances records hard deleted by periodic gc.",
49-
registers: [prometheusClient.register],
5046
});
5147

5248
export function reportWorkspaceInstancePurged(count: number) {
5349
workspaceInstancePurgedTotal.inc(count);
5450
}
51+
52+
const prebuiltWorkspaceUpdatablePurgedTotal = new prometheusClient.Counter({
53+
name: "gitpod_server_prebuilt_workspace_updatable_purged_total",
54+
help: "Counter of prebuilt workspace updatable records hard deleted by periodic gc.",
55+
});
56+
57+
export function reportPrebuiltWorkspaceUpdatablePurged(count: number) {
58+
prebuiltWorkspaceUpdatablePurgedTotal.inc(count);
59+
}

components/gitpod-db/src/typeorm/workspace-db-impl.ts

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ import { daysBefore } from "@gitpod/gitpod-protocol/lib/util/timeutil";
5656
import {
5757
reportPrebuildInfoPurged,
5858
reportPrebuiltWorkspacePurged,
59+
reportPrebuiltWorkspaceUpdatablePurged,
5960
reportWorkspaceInstancePurged,
6061
reportWorkspacePurged,
6162
} from "./metrics";
@@ -990,14 +991,15 @@ export abstract class AbstractTypeORMWorkspaceDBImpl implements WorkspaceDB {
990991
const prebuild = await this.findPrebuildByWorkspaceID(workspaceId);
991992
if (prebuild !== undefined) {
992993
// There are prebuilds linked to this workspace. We need to delete these first.
993-
// `d_b_workspace_prebuild doens't have a deleted column for db-sync
994-
// const prebuildsDeleted = await (
995-
// await this.getPrebuiltWorkspaceRepo()
996-
// ).update({ id: prebuild.id }, { deleted: true });
997-
// reportPrebuiltWorkspacePurged(prebuildsDeleted.affected || 0);
998-
999-
// Delete the d_b_prebuilt_workspace_updatable record?
1000-
// await (await this.getPrebuiltWorkspaceUpdatableRepo()).update()
994+
const prebuildsDeleted = await (
995+
await this.getPrebuiltWorkspaceRepo()
996+
).update({ id: prebuild.id }, { deleted: true });
997+
reportPrebuiltWorkspacePurged(prebuildsDeleted.affected || 0);
998+
999+
const updatableDeletes = await (
1000+
await this.getPrebuiltWorkspaceUpdatableRepo()
1001+
).update({ id: prebuild.id }, { deleted: true });
1002+
reportPrebuiltWorkspaceUpdatablePurged(updatableDeletes.affected || 0);
10011003

10021004
const prebuildInfos = await (
10031005
await this.getPrebuildInfoRepo()

0 commit comments

Comments
 (0)