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 185bfae35a49afb11eacb5f128662cc358023175 Author: voonhous <[email protected]> AuthorDate: Sat Jul 4 11:49:18 2026 +0800 refactor(hadoop-mr): use SLF4J parameterized logging instead of string concatenation (#19157) Convert LOG.info/error string concatenation to {} placeholders across hudi-hadoop-mr. Mechanical, behavior-preserving. HoodieRealtimeInputFormatUtils: the debug message wraps the value in literal braces; written as {{}} so SLF4J fills the inner {} and keeps the outer braces literal. Dropped the enclosing isDebugEnabled() guard, which only existed to avoid the eager string build that parameterization removes. (cherry picked from commit 9e20f34e81cb2ddd48df1869909f8d26144914e1) --- .../hadoop/BootstrapColumnStichingRecordReader.java | 2 +- .../hudi/hadoop/HoodieCopyOnWriteTableInputFormat.java | 2 +- .../apache/hudi/hadoop/HoodieParquetInputFormat.java | 4 ++-- .../java/org/apache/hudi/hadoop/InputPathHandler.java | 2 +- .../hudi/hadoop/hive/HoodieCombineHiveInputFormat.java | 18 ++++++++---------- .../hadoop/realtime/AbstractRealtimeRecordReader.java | 10 +++++----- .../realtime/HoodieHFileRealtimeInputFormat.java | 7 ++----- .../realtime/HoodieParquetRealtimeInputFormat.java | 7 ++----- .../hadoop/realtime/HoodieRealtimeRecordReader.java | 2 +- .../hadoop/realtime/RealtimeCompactedRecordReader.java | 4 ++-- .../org/apache/hudi/hadoop/utils/HoodieHiveUtils.java | 6 +++--- .../hadoop/utils/HoodieRealtimeInputFormatUtils.java | 4 +--- 12 files changed, 29 insertions(+), 39 deletions(-) diff --git a/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/BootstrapColumnStichingRecordReader.java b/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/BootstrapColumnStichingRecordReader.java index 7f9aa77648f9..5c24766d3868 100644 --- a/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/BootstrapColumnStichingRecordReader.java +++ b/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/BootstrapColumnStichingRecordReader.java @@ -60,7 +60,7 @@ public class BootstrapColumnStichingRecordReader implements RecordReader<NullWri .toArray(new String[0]); values = new ArrayWritable(vals); } - LOG.info("Total ArrayWritable Length :" + values.get().length); + LOG.info("Total ArrayWritable Length :{}", values.get().length); } @Override diff --git a/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/HoodieCopyOnWriteTableInputFormat.java b/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/HoodieCopyOnWriteTableInputFormat.java index 8e3a7b809630..0408500aa71a 100644 --- a/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/HoodieCopyOnWriteTableInputFormat.java +++ b/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/HoodieCopyOnWriteTableInputFormat.java @@ -212,7 +212,7 @@ public class HoodieCopyOnWriteTableInputFormat extends HoodieTableInputFormat { private BootstrapBaseFileSplit makeExternalFileSplit(PathWithBootstrapFileStatus file, FileSplit split) { try { - LOG.info("Making external data split for " + file); + LOG.info("Making external data split for {}", file); FileStatus externalFileStatus = file.getBootstrapFileStatus(); FileSplit externalFileSplit = makeSplit(externalFileStatus.getPath(), 0, externalFileStatus.getLen(), new String[0], new String[0]); diff --git a/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/HoodieParquetInputFormat.java b/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/HoodieParquetInputFormat.java index f3911faeaf8f..ee650978238c 100644 --- a/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/HoodieParquetInputFormat.java +++ b/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/HoodieParquetInputFormat.java @@ -208,7 +208,7 @@ public class HoodieParquetInputFormat extends HoodieParquetInputFormatBase { List<Pair<String, String>> colNamesWithTypesForExternal = colNameWithTypes.stream() .filter(p -> !HoodieRecord.HOODIE_META_COLUMNS.contains(p.getKey())).collect(Collectors.toList()); - LOG.info("colNameWithTypes =" + colNameWithTypes + ", Num Entries =" + colNameWithTypes.size()); + LOG.info("colNameWithTypes ={}, Num Entries ={}", colNameWithTypes, colNameWithTypes.size()); if (hoodieColsProjected.isEmpty()) { return getRecordReaderInternal(eSplit.getBootstrapFileSplit(), job, reporter); @@ -225,7 +225,7 @@ public class HoodieParquetInputFormat extends HoodieParquetInputFormatBase { jobConfCopy.unset(TableScanDesc.FILTER_EXPR_CONF_STR); jobConfCopy.unset(ConvertAstToSearchArg.SARG_PUSHDOWN); - LOG.info("Generating column stitching reader for " + eSplit.getPath() + " and " + rightSplit.getPath()); + LOG.info("Generating column stitching reader for {} and {}", eSplit.getPath(), rightSplit.getPath()); return new BootstrapColumnStichingRecordReader(getRecordReaderInternal(eSplit, jobConfCopy, reporter), HoodieRecord.HOODIE_META_COLUMNS.size(), getRecordReaderInternal(rightSplit, jobConfCopy, reporter), diff --git a/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/InputPathHandler.java b/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/InputPathHandler.java index 88e96d29e1be..09f6f4bbabdb 100644 --- a/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/InputPathHandler.java +++ b/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/InputPathHandler.java @@ -114,7 +114,7 @@ public class InputPathHandler { tagAsIncrementalOrSnapshot(inputPath, metaClient, incrementalTables); } catch (TableNotFoundException | InvalidTableException e) { // This is a non Hoodie inputPath - LOG.info("Handling a non-hoodie path " + inputPath); + LOG.info("Handling a non-hoodie path {}", inputPath); nonHoodieInputPaths.add(inputPath); } } diff --git a/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/hive/HoodieCombineHiveInputFormat.java b/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/hive/HoodieCombineHiveInputFormat.java index 9634b7f6b097..c726bda2e69a 100644 --- a/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/hive/HoodieCombineHiveInputFormat.java +++ b/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/hive/HoodieCombineHiveInputFormat.java @@ -174,7 +174,7 @@ public class HoodieCombineHiveInputFormat<K extends WritableComparable, V extend Class<?> inputFormatClass = part.getInputFileFormatClass(); String inputFormatClassName = inputFormatClass.getName(); InputFormat inputFormat = getInputFormatFromCache(inputFormatClass, job); - LOG.info("Input Format => " + inputFormatClass.getName()); + LOG.info("Input Format => {}", inputFormatClass.getName()); // **MOD** Set the hoodie filter in the combine if (inputFormatClass.getName().equals(getParquetInputFormatClassName())) { combine.setHoodieFilter(true); @@ -186,7 +186,7 @@ public class HoodieCombineHiveInputFormat<K extends WritableComparable, V extend List<String> partitions = new ArrayList<>(part.getPartSpec().keySet()); if (!partitions.isEmpty()) { String partitionStr = String.join("/", partitions); - LOG.info("Setting Partitions in jobConf - Partition Keys for Path : " + path + " is :" + partitionStr); + LOG.info("Setting Partitions in jobConf - Partition Keys for Path : {} is :{}", path, partitionStr); job.set(hive_metastoreConstants.META_TABLE_PARTITION_COLUMNS, partitionStr); } else { job.set(hive_metastoreConstants.META_TABLE_PARTITION_COLUMNS, ""); @@ -224,11 +224,11 @@ public class HoodieCombineHiveInputFormat<K extends WritableComparable, V extend f = poolMap.get(combinePathInputFormat); if (f == null) { f = new CombineFilter(filterPath); - LOG.info("CombineHiveInputSplit creating pool for " + path + "; using filter path " + filterPath); + LOG.info("CombineHiveInputSplit creating pool for {}; using filter path {}", path, filterPath); combine.createPool(job, f); poolMap.put(combinePathInputFormat, f); } else { - LOG.info("CombineHiveInputSplit: pool is already created for " + path + "; using filter path " + filterPath); + LOG.info("CombineHiveInputSplit: pool is already created for {}; using filter path {}", path, filterPath); f.addPath(filterPath); } } else { @@ -286,7 +286,7 @@ public class HoodieCombineHiveInputFormat<K extends WritableComparable, V extend result.add(csplit); } - LOG.info("number of splits " + result.size()); + LOG.info("number of splits {}", result.size()); return result.toArray(new CombineHiveInputSplit[result.size()]); } @@ -295,8 +295,7 @@ public class HoodieCombineHiveInputFormat<K extends WritableComparable, V extend */ public Set<Integer> getNonCombinablePathIndices(JobConf job, Path[] paths, int numThreads) throws ExecutionException, InterruptedException { - LOG.info("Total number of paths: " + paths.length + ", launching " + numThreads - + " threads to check non-combinable ones."); + LOG.info("Total number of paths: {}, launching {} threads to check non-combinable ones.", paths.length, numThreads); int numPathPerThread = (int) Math.ceil((double) paths.length / numThreads); ExecutorService executor = Executors.newFixedThreadPool(numThreads); @@ -559,7 +558,7 @@ public class HoodieCombineHiveInputFormat<K extends WritableComparable, V extend retLists.add(split); long splitgLength = split.getLength(); if (size + splitgLength >= targetSize) { - LOG.info("Sample alias " + entry.getValue() + " using " + (i + 1) + "splits"); + LOG.info("Sample alias {} using {}splits", entry.getValue(), (i + 1)); if (size + splitgLength > targetSize) { ((InputSplitShim) split).shrinkSplit(targetSize - size); } @@ -963,8 +962,7 @@ public class HoodieCombineHiveInputFormat<K extends WritableComparable, V extend if (job.getLong(org.apache.hadoop.mapreduce.lib.input.FileInputFormat.SPLIT_MAXSIZE, 0L) == 0L) { super.setMaxSplitSize(minSize); } - LOG.info("mapreduce.input.fileinputformat.split.minsize=" + minSize - + ", mapreduce.input.fileinputformat.split.maxsize=" + maxSize); + LOG.info("mapreduce.input.fileinputformat.split.minsize={}, mapreduce.input.fileinputformat.split.maxsize={}", minSize, maxSize); if (isRealTime) { job.set("hudi.hive.realtime", "true"); diff --git a/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/AbstractRealtimeRecordReader.java b/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/AbstractRealtimeRecordReader.java index 913e67009527..ce58db552e23 100644 --- a/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/AbstractRealtimeRecordReader.java +++ b/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/AbstractRealtimeRecordReader.java @@ -94,9 +94,9 @@ public abstract class AbstractRealtimeRecordReader { public AbstractRealtimeRecordReader(RealtimeSplit split, JobConf job) { this.split = split; this.jobConf = job; - LOG.info("cfg ==> " + job.get(ColumnProjectionUtils.READ_COLUMN_NAMES_CONF_STR)); - LOG.info("columnIds ==> " + job.get(ColumnProjectionUtils.READ_COLUMN_IDS_CONF_STR)); - LOG.info("partitioningColumns ==> " + job.get(hive_metastoreConstants.META_TABLE_PARTITION_COLUMNS, "")); + LOG.info("cfg ==> {}", job.get(ColumnProjectionUtils.READ_COLUMN_NAMES_CONF_STR)); + LOG.info("columnIds ==> {}", job.get(ColumnProjectionUtils.READ_COLUMN_IDS_CONF_STR)); + LOG.info("partitioningColumns ==> {}", job.get(hive_metastoreConstants.META_TABLE_PARTITION_COLUMNS, "")); this.supportPayload = Boolean.parseBoolean(job.get("hoodie.support.payload", "true")); try { metaClient = HoodieTableMetaClient.builder() @@ -106,7 +106,7 @@ public abstract class AbstractRealtimeRecordReader { this.payloadProps.setProperty(HoodiePayloadProps.PAYLOAD_ORDERING_FIELD_PROP_KEY, metaClient.getTableConfig().getOrderingFieldsStr().orElse(null)); } this.usesCustomPayload = usesCustomPayload(metaClient); - LOG.info("usesCustomPayload ==> " + this.usesCustomPayload); + LOG.info("usesCustomPayload ==> {}", this.usesCustomPayload); // get timestamp columns supportTimestamp = HoodieColumnProjectionUtils.supportTimestamp(jobConf); @@ -190,7 +190,7 @@ public abstract class AbstractRealtimeRecordReader { public HoodieSchema constructHiveOrderedSchema(HoodieSchema writerSchema, Map<String, HoodieSchemaField> schemaFieldsMap, String hiveColumnString) { String[] hiveColumns = hiveColumnString.isEmpty() ? new String[0] : hiveColumnString.split(","); - LOG.info("Hive Columns : " + hiveColumnString); + LOG.info("Hive Columns : {}", hiveColumnString); List<HoodieSchemaField> hiveSchemaFields = new ArrayList<>(); for (String columnName : hiveColumns) { diff --git a/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieHFileRealtimeInputFormat.java b/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieHFileRealtimeInputFormat.java index c7655abbbf3d..ef12dee0ad06 100644 --- a/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieHFileRealtimeInputFormat.java +++ b/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieHFileRealtimeInputFormat.java @@ -62,9 +62,7 @@ public class HoodieHFileRealtimeInputFormat extends HoodieMergeOnReadTableInputF // actual heavy lifting of reading the parquet files happen. if (jobConf.get(HoodieInputFormatUtils.HOODIE_READ_COLUMNS_PROP) == null) { synchronized (jobConf) { - LOG.info( - "Before adding Hoodie columns, Projections :" + jobConf.get(ColumnProjectionUtils.READ_COLUMN_NAMES_CONF_STR) - + ", Ids :" + jobConf.get(ColumnProjectionUtils.READ_COLUMN_IDS_CONF_STR)); + LOG.info("Before adding Hoodie columns, Projections :{}, Ids :{}", jobConf.get(ColumnProjectionUtils.READ_COLUMN_NAMES_CONF_STR), jobConf.get(ColumnProjectionUtils.READ_COLUMN_IDS_CONF_STR)); if (jobConf.get(HoodieInputFormatUtils.HOODIE_READ_COLUMNS_PROP) == null) { // Hive (across all versions) fails for queries like select count(`_hoodie_commit_time`) from table; // In this case, the projection fields gets removed. Looking at HiveInputFormat implementation, in some cases @@ -82,8 +80,7 @@ public class HoodieHFileRealtimeInputFormat extends HoodieMergeOnReadTableInputF } HoodieRealtimeInputFormatUtils.cleanProjectionColumnIds(jobConf); - LOG.info("Creating record reader with readCols :" + jobConf.get(ColumnProjectionUtils.READ_COLUMN_NAMES_CONF_STR) - + ", Ids :" + jobConf.get(ColumnProjectionUtils.READ_COLUMN_IDS_CONF_STR)); + LOG.info("Creating record reader with readCols :{}, Ids :{}", jobConf.get(ColumnProjectionUtils.READ_COLUMN_NAMES_CONF_STR), jobConf.get(ColumnProjectionUtils.READ_COLUMN_IDS_CONF_STR)); // sanity check ValidationUtils.checkArgument(split instanceof HoodieRealtimeFileSplit, "HoodieRealtimeRecordReader can only work on HoodieRealtimeFileSplit and not with " + split); diff --git a/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieParquetRealtimeInputFormat.java b/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieParquetRealtimeInputFormat.java index a911bbab788b..48e78f147644 100644 --- a/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieParquetRealtimeInputFormat.java +++ b/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieParquetRealtimeInputFormat.java @@ -80,8 +80,7 @@ public class HoodieParquetRealtimeInputFormat extends HoodieParquetInputFormat { HoodieTableMetaClient metaClient = HoodieTableMetaClient.builder().setConf(getStorageConf(jobConf)).setBasePath(realtimeSplit.getBasePath()).build(); HoodieTableConfig tableConfig = metaClient.getTableConfig(); addProjectionToJobConf(realtimeSplit, jobConf, tableConfig); - LOG.info("Creating record reader with readCols :" + jobConf.get(ColumnProjectionUtils.READ_COLUMN_NAMES_CONF_STR) - + ", Ids :" + jobConf.get(ColumnProjectionUtils.READ_COLUMN_IDS_CONF_STR)); + LOG.info("Creating record reader with readCols :{}, Ids :{}", jobConf.get(ColumnProjectionUtils.READ_COLUMN_NAMES_CONF_STR), jobConf.get(ColumnProjectionUtils.READ_COLUMN_IDS_CONF_STR)); // for log only split, set the parquet reader as empty. if (isLogFile(realtimeSplit.getPath())) { @@ -100,9 +99,7 @@ public class HoodieParquetRealtimeInputFormat extends HoodieParquetInputFormat { // actual heavy lifting of reading the parquet files happen. if (HoodieRealtimeInputFormatUtils.canAddProjectionToJobConf(realtimeSplit, jobConf)) { synchronized (jobConf) { - LOG.info( - "Before adding Hoodie columns, Projections :" + jobConf.get(ColumnProjectionUtils.READ_COLUMN_NAMES_CONF_STR) - + ", Ids :" + jobConf.get(ColumnProjectionUtils.READ_COLUMN_IDS_CONF_STR)); + LOG.info("Before adding Hoodie columns, Projections :{}, Ids :{}", jobConf.get(ColumnProjectionUtils.READ_COLUMN_NAMES_CONF_STR), jobConf.get(ColumnProjectionUtils.READ_COLUMN_IDS_CONF_STR)); if (HoodieRealtimeInputFormatUtils.canAddProjectionToJobConf(realtimeSplit, jobConf)) { // Hive (across all versions) fails for queries like select count(`_hoodie_commit_time`) from table; // In this case, the projection fields gets removed. Looking at HiveInputFormat implementation, in some cases diff --git a/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieRealtimeRecordReader.java b/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieRealtimeRecordReader.java index 79d8e6ad64a6..eea8200d7fe0 100644 --- a/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieRealtimeRecordReader.java +++ b/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieRealtimeRecordReader.java @@ -66,7 +66,7 @@ public class HoodieRealtimeRecordReader implements RecordReader<NullWritable, Ar LOG.info("Enabling un-merged reading of realtime records"); return new RealtimeUnmergedRecordReader(split, jobConf, realReader); } - LOG.info("Enabling merged reading of realtime records for split " + split); + LOG.info("Enabling merged reading of realtime records for split {}", split); return new RealtimeCompactedRecordReader(split, jobConf, realReader); } catch (Exception e) { LOG.error("Got exception when constructing record reader", e); diff --git a/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/RealtimeCompactedRecordReader.java b/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/RealtimeCompactedRecordReader.java index c68b984e5686..de676624c6c3 100644 --- a/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/RealtimeCompactedRecordReader.java +++ b/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/RealtimeCompactedRecordReader.java @@ -187,8 +187,8 @@ public class RealtimeCompactedRecordReader extends AbstractRealtimeRecordReader arrayWritable.set(originalValue); } catch (RuntimeException re) { LOG.error("Got exception when doing array copy", re); - LOG.error("Base record :" + HoodieRealtimeRecordReaderUtils.arrayWritableToString(arrayWritable)); - LOG.error("Log record :" + HoodieRealtimeRecordReaderUtils.arrayWritableToString(aWritable)); + LOG.error("Base record :{}", HoodieRealtimeRecordReaderUtils.arrayWritableToString(arrayWritable)); + LOG.error("Log record :{}", HoodieRealtimeRecordReaderUtils.arrayWritableToString(aWritable)); String errMsg = "Base-record :" + HoodieRealtimeRecordReaderUtils.arrayWritableToString(arrayWritable) + " ,Log-record :" + HoodieRealtimeRecordReaderUtils.arrayWritableToString(aWritable) + " ,Error :" + re.getMessage(); throw new RuntimeException(errMsg, re); diff --git a/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/utils/HoodieHiveUtils.java b/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/utils/HoodieHiveUtils.java index 981ab9ce54b3..a781f3c53d09 100644 --- a/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/utils/HoodieHiveUtils.java +++ b/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/utils/HoodieHiveUtils.java @@ -94,7 +94,7 @@ public class HoodieHiveUtils { public static boolean stopAtCompaction(JobContext job, String tableName) { String compactionPropName = String.format(HOODIE_STOP_AT_COMPACTION_PATTERN, tableName); boolean stopAtCompaction = job.getConfiguration().getBoolean(compactionPropName, true); - LOG.info("Read stop at compaction - " + stopAtCompaction); + LOG.info("Read stop at compaction - {}", stopAtCompaction); return stopAtCompaction; } @@ -104,13 +104,13 @@ public class HoodieHiveUtils { if (maxCommits == MAX_COMMIT_ALL) { maxCommits = Integer.MAX_VALUE; } - LOG.info("Read max commits - " + maxCommits); + LOG.info("Read max commits - {}", maxCommits); return maxCommits; } public static String readStartCommitTime(JobContext job, String tableName) { String startCommitTimestampName = String.format(HOODIE_START_COMMIT_PATTERN, tableName); - LOG.info("Read start commit time - " + job.getConfiguration().get(startCommitTimestampName)); + LOG.info("Read start commit time - {}", job.getConfiguration().get(startCommitTimestampName)); return job.getConfiguration().get(startCommitTimestampName); } diff --git a/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/utils/HoodieRealtimeInputFormatUtils.java b/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/utils/HoodieRealtimeInputFormatUtils.java index 0e1539fab9bf..f40eca130872 100644 --- a/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/utils/HoodieRealtimeInputFormatUtils.java +++ b/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/utils/HoodieRealtimeInputFormatUtils.java @@ -137,9 +137,7 @@ public class HoodieRealtimeInputFormatUtils extends HoodieInputFormatUtils { String columnIds = conf.get(ColumnProjectionUtils.READ_COLUMN_IDS_CONF_STR); if (!columnIds.isEmpty() && columnIds.charAt(0) == ',') { conf.set(ColumnProjectionUtils.READ_COLUMN_IDS_CONF_STR, columnIds.substring(1)); - if (LOG.isDebugEnabled()) { - LOG.debug("The projection Ids: {" + columnIds + "} start with ','. First comma is removed"); - } + LOG.debug("The projection Ids: {{}} start with ','. First comma is removed", columnIds); } } }
