Max workspaces and strong consistency locks
parent
641958ea44
commit
141bfef2fd
|
|
@ -5127,7 +5127,9 @@ class SharedWorkspaceLocking {
|
|||
if (!(yield SharedWorkspaceLocking.DoesWorkspaceExist(workspace, buildParametersContext))) {
|
||||
throw new Error("Workspace doesn't exist, can't call get all locks");
|
||||
}
|
||||
return (yield SharedWorkspaceLocking.ReadLines(`aws s3 ls ${SharedWorkspaceLocking.workspaceRoot}${buildParametersContext.cacheKey}/${workspace}/`)).map((x) => x.replace(`/`, ``));
|
||||
return (yield SharedWorkspaceLocking.ReadLines(`aws s3 ls ${SharedWorkspaceLocking.workspaceRoot}${buildParametersContext.cacheKey}/${workspace}/`))
|
||||
.map((x) => x.replace(`/`, ``))
|
||||
.filter((x) => x.includes(`_lock`));
|
||||
});
|
||||
}
|
||||
static GetOrCreateLockedWorkspace(workspace, runId, buildParametersContext) {
|
||||
|
|
@ -5190,6 +5192,9 @@ class SharedWorkspaceLocking {
|
|||
}
|
||||
static IsWorkspaceBelowMax(workspace, buildParametersContext) {
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
if (!(yield SharedWorkspaceLocking.DoesWorkspaceTopLevelExist(buildParametersContext))) {
|
||||
return true;
|
||||
}
|
||||
const workspaces = yield SharedWorkspaceLocking.GetAllWorkspaces(buildParametersContext);
|
||||
const ordered = [];
|
||||
for (const ws of workspaces) {
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -28,7 +28,9 @@ export class SharedWorkspaceLocking {
|
|||
await SharedWorkspaceLocking.ReadLines(
|
||||
`aws s3 ls ${SharedWorkspaceLocking.workspaceRoot}${buildParametersContext.cacheKey}/${workspace}/`,
|
||||
)
|
||||
).map((x) => x.replace(`/`, ``));
|
||||
)
|
||||
.map((x) => x.replace(`/`, ``))
|
||||
.filter((x) => x.includes(`_lock`));
|
||||
}
|
||||
public static async GetOrCreateLockedWorkspace(
|
||||
workspace: string,
|
||||
|
|
@ -112,6 +114,9 @@ export class SharedWorkspaceLocking {
|
|||
workspace: string,
|
||||
buildParametersContext: BuildParameters,
|
||||
): Promise<boolean> {
|
||||
if (!(await SharedWorkspaceLocking.DoesWorkspaceTopLevelExist(buildParametersContext))) {
|
||||
return true;
|
||||
}
|
||||
const workspaces = await SharedWorkspaceLocking.GetAllWorkspaces(buildParametersContext);
|
||||
const ordered: any[] = [];
|
||||
for (const ws of workspaces) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue