From 37c5158881d3e57e46bee6a85cb9129e7cc05165 Mon Sep 17 00:00:00 2001 From: Chad Wilson Date: Mon, 17 Jul 2023 22:11:31 +0800 Subject: [PATCH] Correct logic for determining # of threads to run with Should use the minimum of 8 and #cores, not max. If we have 12 cores, we want to only use 8 of them. If we have 4 cores, we want to use 4 cores. Current logic is running with far too many threads, different to documentation. --- build.gradle | 2 +- src/main/java/com/thoughtworks/go/dbsync/cli/Args.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 2283360..7ed710f 100644 --- a/build.gradle +++ b/build.gradle @@ -22,7 +22,7 @@ plugins { } group = 'cd.go.gocd' -version = '1.0.3' +version = '1.0.4' project.ext.projectDesc = [ id : 'cd.go.gocd.gocd-database-migrator', diff --git a/src/main/java/com/thoughtworks/go/dbsync/cli/Args.java b/src/main/java/com/thoughtworks/go/dbsync/cli/Args.java index 47d7748..4782d9c 100644 --- a/src/main/java/com/thoughtworks/go/dbsync/cli/Args.java +++ b/src/main/java/com/thoughtworks/go/dbsync/cli/Args.java @@ -63,7 +63,7 @@ public class Args { public boolean progress = false; @Parameter(names = {"--threads", "-t"}, description = "Number of import threads. Defaults to number of processors (max of 8).", order = 1400) - public int threads = Math.max(8, Runtime.getRuntime().availableProcessors()); + public int threads = Math.min(8, Runtime.getRuntime().availableProcessors()); @Parameter(names = {"--export-timeout"}, description = "Number of seconds to allow data to by exported from source to target database before timing out.", order = 1500) public long exportTimeoutSeconds = TimeUnit.MINUTES.toSeconds(30);