From d081ec67ab5d8dda4073b8c2e8e76f0b8aeabb6a Mon Sep 17 00:00:00 2001 From: yma Date: Mon, 16 Dec 2024 17:28:41 +0800 Subject: [PATCH] Add generation-timeout-minutes config --- .../indy/service/archive/config/PreSeedConfig.java | 3 +++ .../indy/service/archive/controller/ArchiveController.java | 4 ++-- src/main/resources/application.yaml | 3 ++- .../indy/service/archive/util/TestPreSeedConfig.java | 5 +++++ 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/commonjava/indy/service/archive/config/PreSeedConfig.java b/src/main/java/org/commonjava/indy/service/archive/config/PreSeedConfig.java index d56b8a1..c1d5a8f 100644 --- a/src/main/java/org/commonjava/indy/service/archive/config/PreSeedConfig.java +++ b/src/main/java/org/commonjava/indy/service/archive/config/PreSeedConfig.java @@ -34,4 +34,7 @@ public interface PreSeedConfig @WithName( "thread-multiplier" ) Optional threadMultiplier(); + + @WithName( "generation-timeout-minutes" ) + Optional generationTimeoutMinutes(); } diff --git a/src/main/java/org/commonjava/indy/service/archive/controller/ArchiveController.java b/src/main/java/org/commonjava/indy/service/archive/controller/ArchiveController.java index f759b0b..a907f4d 100644 --- a/src/main/java/org/commonjava/indy/service/archive/controller/ArchiveController.java +++ b/src/main/java/org/commonjava/indy/service/archive/controller/ArchiveController.java @@ -164,7 +164,7 @@ public void generate( HistoricalContentDTO content ) { if ( isInProgress( buildConfigId ) ) { - logger.info( "There is already generation process in progress for buildConfigId {}, try lock wait.", + logger.info( "There is already generation process in progress for buildConfigId {}, this request will skip.", buildConfigId ); // Conflicted generation, just return immediately return; @@ -192,7 +192,7 @@ public void generate( HistoricalContentDTO content ) } ); try { - future.get( 60, TimeUnit.MINUTES ); + future.get( preSeedConfig.generationTimeoutMinutes().orElse( 60 ), TimeUnit.MINUTES ); } catch ( TimeoutException e ) { diff --git a/src/main/resources/application.yaml b/src/main/resources/application.yaml index ac6f007..7981b61 100644 --- a/src/main/resources/application.yaml +++ b/src/main/resources/application.yaml @@ -47,4 +47,5 @@ pre-seed: main-indy: https://indy-gateway-master-devel.psi.redhat.com storage-dir: data not-used-days-cleanup: 10 - thread-multiplier: 4 \ No newline at end of file + thread-multiplier: 4 + generation-timeout-minutes: 60 \ No newline at end of file diff --git a/src/test/java/org/commonjava/indy/service/archive/util/TestPreSeedConfig.java b/src/test/java/org/commonjava/indy/service/archive/util/TestPreSeedConfig.java index 8bab7d4..bfae5a9 100644 --- a/src/test/java/org/commonjava/indy/service/archive/util/TestPreSeedConfig.java +++ b/src/test/java/org/commonjava/indy/service/archive/util/TestPreSeedConfig.java @@ -52,4 +52,9 @@ public Optional threadMultiplier() return Optional.of( 4 ); } + public Optional generationTimeoutMinutes() + { + return Optional.of( 60 ); + } + }