This is an automated email from the ASF dual-hosted git repository. voonhous pushed a commit to branch release-1.2.1 in repository https://gitbox.apache.org/repos/asf/hudi.git
commit 51d1c8ade755ddf6bf01f1f1f95e7a69ef18e4b0 Author: voonhous <[email protected]> AuthorDate: Sun Jul 5 04:28:57 2026 +0800 refactor(utilities): use SLF4J parameterized logging instead of string concatenation (#19185) (cherry picked from commit bf787205bbfbf094600e0856fbe2f0d95aa91c03) --- .../java/org/apache/hudi/utilities/HoodieDataTableValidator.java | 4 ++-- .../org/apache/hudi/utilities/sources/helpers/DFSPathSelector.java | 5 ++--- .../apache/hudi/utilities/sources/helpers/S3EventsMetaSelector.java | 2 +- .../hudi/utilities/functional/TestHoodieSnapshotExporter.java | 2 +- .../apache/hudi/utilities/offlinejob/HoodieOfflineJobTestBase.java | 6 +++--- 5 files changed, 9 insertions(+), 10 deletions(-) diff --git a/hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java b/hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java index f34fe8650401..79ca3b647194 100644 --- a/hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java +++ b/hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java @@ -252,7 +252,7 @@ public class HoodieDataTableValidator implements Serializable { try { validator.run(); } catch (Throwable throwable) { - log.error("Fail to do hoodie Data table validation for " + validator.cfg, throwable); + log.error("Fail to do hoodie Data table validation for {}", validator.cfg, throwable); } finally { jsc.stop(); } @@ -320,7 +320,7 @@ public class HoodieDataTableValidator implements Serializable { if (!danglingFilePaths.isEmpty() && danglingFilePaths.size() > 0) { log.error("Data table validation failed due to dangling files count {}, found before active timeline", danglingFilePaths.size()); - danglingFilePaths.forEach(entry -> log.error("Dangling file: " + entry.toString())); + danglingFilePaths.forEach(entry -> log.error("Dangling file: {}", entry)); finalResult = false; if (!cfg.ignoreFailed) { throw new HoodieValidationException( diff --git a/hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/DFSPathSelector.java b/hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/DFSPathSelector.java index 071499d13a9b..1c7788efe3e0 100644 --- a/hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/DFSPathSelector.java +++ b/hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/DFSPathSelector.java @@ -91,7 +91,7 @@ public class DFSPathSelector implements Serializable { new Class<?>[] {TypedProperties.class, Configuration.class}, props, conf); - log.info("Using path selector " + selector.getClass().getName()); + log.info("Using path selector {}", selector.getClass().getName()); return selector; } catch (Exception e) { throw new HoodieException("Could not load source selector class " + sourceSelectorClass, e); @@ -125,8 +125,7 @@ public class DFSPathSelector implements Serializable { long sourceLimit) { try { // obtain all eligible files under root folder. - log.info("Root path => " + getStringWithAltKeys(props, DFSPathSelectorConfig.ROOT_INPUT_PATH) - + " source limit => " + sourceLimit); + log.info("Root path => {} source limit => {}", getStringWithAltKeys(props, DFSPathSelectorConfig.ROOT_INPUT_PATH), sourceLimit); long lastCheckpointTime = lastCheckpointStr.map(e -> Long.parseLong(e.getCheckpointKey())).orElse(Long.MIN_VALUE); List<FileStatus> eligibleFiles = listEligibleFiles( fs, new Path(getStringWithAltKeys(props, DFSPathSelectorConfig.ROOT_INPUT_PATH)), lastCheckpointTime); diff --git a/hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/S3EventsMetaSelector.java b/hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/S3EventsMetaSelector.java index b5ccaa58f374..e3ec3bdc57f8 100644 --- a/hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/S3EventsMetaSelector.java +++ b/hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/S3EventsMetaSelector.java @@ -73,7 +73,7 @@ public class S3EventsMetaSelector extends CloudObjectsSelector { ReflectionUtils.loadClass( sourceSelectorClass, new Class<?>[] {TypedProperties.class}, props); - log.info("Using path selector " + selector.getClass().getName()); + log.info("Using path selector {}", selector.getClass().getName()); return selector; } catch (Exception e) { throw new HoodieException("Could not load source selector class " + sourceSelectorClass, e); diff --git a/hudi-utilities/src/test/java/org/apache/hudi/utilities/functional/TestHoodieSnapshotExporter.java b/hudi-utilities/src/test/java/org/apache/hudi/utilities/functional/TestHoodieSnapshotExporter.java index 542349240189..ebe26c89e9c3 100644 --- a/hudi-utilities/src/test/java/org/apache/hudi/utilities/functional/TestHoodieSnapshotExporter.java +++ b/hudi-utilities/src/test/java/org/apache/hudi/utilities/functional/TestHoodieSnapshotExporter.java @@ -112,7 +112,7 @@ public class TestHoodieSnapshotExporter extends SparkClientFunctionalTestHarness } List<StoragePathInfo> pathInfoList = storage.listFiles(new StoragePath(sourcePath)); for (StoragePathInfo pathInfo : pathInfoList) { - LOG.info(">>> Prepared test file: " + pathInfo.getPath()); + LOG.info(">>> Prepared test file: {}", pathInfo.getPath()); } } diff --git a/hudi-utilities/src/test/java/org/apache/hudi/utilities/offlinejob/HoodieOfflineJobTestBase.java b/hudi-utilities/src/test/java/org/apache/hudi/utilities/offlinejob/HoodieOfflineJobTestBase.java index 4731c269040b..634c434d3845 100644 --- a/hudi-utilities/src/test/java/org/apache/hudi/utilities/offlinejob/HoodieOfflineJobTestBase.java +++ b/hudi-utilities/src/test/java/org/apache/hudi/utilities/offlinejob/HoodieOfflineJobTestBase.java @@ -110,7 +110,7 @@ public class HoodieOfflineJobTestBase extends UtilitiesTestBase { static void assertNCompletedCommits(int expected, String tablePath) { HoodieTableMetaClient meta = createMetaClient(storage, tablePath); HoodieTimeline timeline = meta.getActiveTimeline().getWriteTimeline().filterCompletedInstants(); - LOG.info("Timeline Instants=" + meta.getActiveTimeline().getInstants()); + LOG.info("Timeline Instants={}", meta.getActiveTimeline().getInstants()); int numCommits = timeline.countInstants(); assertEquals(expected, numCommits, "Got=" + numCommits + ", exp =" + expected); } @@ -118,7 +118,7 @@ public class HoodieOfflineJobTestBase extends UtilitiesTestBase { static void assertNCleanCommits(int expected, String tablePath) { HoodieTableMetaClient meta = createMetaClient(storage, tablePath); HoodieTimeline timeline = meta.getActiveTimeline().getCleanerTimeline().filterCompletedInstants(); - LOG.info("Timeline Instants=" + meta.getActiveTimeline().getInstants()); + LOG.info("Timeline Instants={}", meta.getActiveTimeline().getInstants()); int numCleanCommits = timeline.countInstants(); assertEquals(expected, numCleanCommits, "Got=" + numCleanCommits + ", exp =" + expected); } @@ -126,7 +126,7 @@ public class HoodieOfflineJobTestBase extends UtilitiesTestBase { static void assertNClusteringCommits(int expected, String tablePath) { HoodieTableMetaClient meta = createMetaClient(storage, tablePath); HoodieTimeline timeline = meta.getActiveTimeline().getCompletedReplaceTimeline(); - LOG.info("Timeline Instants=" + meta.getActiveTimeline().getInstants()); + LOG.info("Timeline Instants={}", meta.getActiveTimeline().getInstants()); int numCommits = timeline.countInstants(); assertEquals(expected, numCommits, "Got=" + numCommits + ", exp =" + expected); }
