From 11b4de1f043170919ae976d5fa3e29b57c19e7dd Mon Sep 17 00:00:00 2001 From: Ekaterina_Kazachkova Date: Mon, 12 Aug 2024 13:47:47 +0300 Subject: [PATCH] Issue #3619: Migrate runs to archive table according to user/group configuration - introduce common background jobs executor --- api/profiles/dev/application.properties | 2 +- .../java/com/epam/pipeline/app/AppConfiguration.java | 9 +++++---- .../manager/pipeline/ArchiveRunAsynchronousService.java | 2 +- deploy/docker/cp-api-srv/config/application.properties | 2 +- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/api/profiles/dev/application.properties b/api/profiles/dev/application.properties index bddf412ab9..c0f9eb36ec 100644 --- a/api/profiles/dev/application.properties +++ b/api/profiles/dev/application.properties @@ -98,7 +98,7 @@ scheduled.quartz.db.driverDelegateClass=${CP_API_SCHEDULING_QUARTZ_DATABASE_DRIV scheduled.notifications.cleanup.sec=${CP_API_SCHEDULED_NOTIFICATIONS_CLEANUP:86400} run.as.pool.size=5 -run.archive.pool.size=${CP_API_RUN_ARCHIVE_POOL_SIZE:5} +background.api.jobs.pool.size=${CP_API_BACKGROUND_JOBS_POOL_SIZE:10} #luigi kube.namespace=default diff --git a/api/src/main/java/com/epam/pipeline/app/AppConfiguration.java b/api/src/main/java/com/epam/pipeline/app/AppConfiguration.java index d935f0ddd8..533b0237d9 100644 --- a/api/src/main/java/com/epam/pipeline/app/AppConfiguration.java +++ b/api/src/main/java/com/epam/pipeline/app/AppConfiguration.java @@ -77,8 +77,8 @@ public class AppConfiguration implements SchedulingConfigurer { @Value("${pause.pool.size:10}") private int pausePoolSize; - @Value("${run.archive.pool.size:10}") - private int archiveRunPoolSize; + @Value("${background.api.jobs.pool.size:10}") + private int backgroundJobsPoolSize; @Value("${run.as.pool.size:5}") private int runAsPoolSize; @@ -180,8 +180,9 @@ public Executor pauseRunExecutor() { } @Bean - public Executor archiveRunExecutor() { - return new DelegatingSecurityContextExecutor(getThreadPoolTaskExecutor("ArchiveRun", archiveRunPoolSize)); + public Executor backgroundJobsExecutor() { + return new DelegatingSecurityContextExecutor(getThreadPoolTaskExecutor("BackgroundJobs", + backgroundJobsPoolSize)); } @Bean diff --git a/api/src/main/java/com/epam/pipeline/manager/pipeline/ArchiveRunAsynchronousService.java b/api/src/main/java/com/epam/pipeline/manager/pipeline/ArchiveRunAsynchronousService.java index d3ebb161ee..95ef17b04e 100644 --- a/api/src/main/java/com/epam/pipeline/manager/pipeline/ArchiveRunAsynchronousService.java +++ b/api/src/main/java/com/epam/pipeline/manager/pipeline/ArchiveRunAsynchronousService.java @@ -31,7 +31,7 @@ public class ArchiveRunAsynchronousService { private final ArchiveRunCoreService archiveRunCoreService; - @Async("archiveRunExecutor") + @Async("backgroundJobsExecutor") public void archiveRunsAsynchronous(final Map ownersAndDates, final List terminalStates, final Integer chunkSize) { archiveRunCoreService.archiveRuns(ownersAndDates, terminalStates, chunkSize); diff --git a/deploy/docker/cp-api-srv/config/application.properties b/deploy/docker/cp-api-srv/config/application.properties index a57978ca9b..450ecbdaac 100644 --- a/deploy/docker/cp-api-srv/config/application.properties +++ b/deploy/docker/cp-api-srv/config/application.properties @@ -112,7 +112,7 @@ cluster.gcp.node.terminate.script=/opt/api/scripts/terminate_node.py ## Common docker.registry.login.script=/opt/api/scripts/docker-login.sh -run.archive.pool.size=${CP_API_RUN_ARCHIVE_POOL_SIZE:5} +background.api.jobs.pool.size=${CP_API_BACKGROUND_JOBS_POOL_SIZE:10} # Kube config cluster.cadvisor.port=4194