This is an automated email from the ASF dual-hosted git repository.
voonhous pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hudi.git
The following commit(s) were added to refs/heads/master by this push:
new 865a554be39e refactor(client): use SLF4J parameterized logging instead
of string concatenation (#19155)
865a554be39e is described below
commit 865a554be39e98bc9af0d1f2c4e29a99c401ecb4
Author: voonhous <[email protected]>
AuthorDate: Sun Jul 5 12:10:45 2026 +0800
refactor(client): use SLF4J parameterized logging instead of string
concatenation (#19155)
* refactor(client): use SLF4J parameterized logging instead of string
concatenation
Convert `+`-concatenated log messages to SLF4J `{}` placeholders across
hudi-client (client-common, java-client, spark-client, flink-client).
The rewrite is behaviour-preserving: each concatenated expression becomes a
placeholder argument in order, and a trailing throwable is kept as the last
argument so its stack trace is still recorded. This also avoids building the
message string eagerly when the log level is disabled.
* refactor(client): drop redundant .toString() in parameterized logs
With {} templating SLF4J calls toString() lazily on the argument, so the
explicit calls were redundant. Removed in TimelineArchiverV1,
HoodieCompactionPlanGenerator and the matching
TestLegacyArchivedMetaEntryReader
log. Addresses review nits on #19155.
* refactor(client): wrap long merge log statement for readability
Keep the format string and its arguments on separate lines in
HoodieBinaryCopyHandle.write() instead of one ~200-char line, per review.
---
.../org/apache/hudi/async/AsyncClusteringService.java | 2 +-
.../org/apache/hudi/async/AsyncCompactService.java | 6 +++---
.../java/org/apache/hudi/async/HoodieAsyncService.java | 2 +-
.../hudi/client/BaseHoodieTableServiceClient.java | 2 +-
.../org/apache/hudi/client/CompactionAdminClient.java | 5 ++---
.../hudi/client/HoodieTableServiceManagerClient.java | 2 +-
.../bootstrap/selector/BootstrapRegexModeSelector.java | 2 +-
.../hudi/client/embedded/EmbeddedTimelineService.java | 2 +-
.../timeline/versioning/v1/TimelineArchiverV1.java | 10 +++++-----
...ConcurrentFileWritesConflictResolutionStrategy.java | 3 +--
.../transaction/DirectMarkerTransactionManager.java | 10 ++++------
...ConcurrentFileWritesConflictResolutionStrategy.java | 6 ++----
.../transaction/lock/FileSystemBasedLockProvider.java | 2 +-
.../hudi/client/transaction/lock/LockManager.java | 2 +-
.../org/apache/hudi/client/utils/TransactionUtils.java | 3 +--
.../client/validator/StreamingOffsetValidator.java | 2 +-
.../execution/FileMetadataWriteStatusConverter.java | 2 +-
.../hudi/index/bucket/ConsistentBucketIndexUtils.java | 4 ++--
.../apache/hudi/index/bucket/HoodieBucketIndex.java | 2 +-
.../main/java/org/apache/hudi/io/BaseCreateHandle.java | 4 ++--
.../hudi/io/ExternalFileClusteringWriteHandle.java | 2 +-
.../java/org/apache/hudi/io/HoodieAppendHandle.java | 4 ++--
.../org/apache/hudi/io/HoodieBinaryCopyHandle.java | 10 +++++-----
.../apache/hudi/io/HoodieInlineLogAppendHandle.java | 2 +-
.../src/main/java/org/apache/hudi/io/IOUtils.java | 2 +-
...HoodieBackedTableMetadataWriterTableVersionSix.java | 2 +-
.../main/java/org/apache/hudi/table/HoodieTable.java | 6 +++---
.../strategy/CommitBasedClusteringPlanStrategy.java | 6 +++---
.../strategy/PartitionAwareClusteringPlanStrategy.java | 10 +++++-----
.../table/action/commit/BaseCommitActionExecutor.java | 8 ++++----
.../compact/ScheduleCompactionActionExecutor.java | 4 ++--
.../plan/generators/HoodieCompactionPlanGenerator.java | 2 +-
.../action/index/AbstractIndexingCatchupTask.java | 2 +-
.../action/restore/BaseRestoreActionExecutor.java | 4 ++--
.../action/rollback/BaseRollbackActionExecutor.java | 6 +++---
.../rollback/CopyOnWriteRollbackActionExecutor.java | 6 +++---
.../action/rollback/ListingBasedRollbackStrategy.java | 2 +-
.../rollback/MergeOnReadRollbackActionExecutor.java | 8 ++++----
.../table/marker/TimelineServerBasedWriteMarkers.java | 6 ++----
.../hudi/table/upgrade/FiveToSixUpgradeHandler.java | 4 ++--
.../apache/hudi/table/upgrade/UpgradeDowngrade.java | 2 +-
.../utils/TestLegacyArchivedMetaEntryReader.java | 4 ++--
.../hudi/table/action/rollback/TestRollbackHelper.java | 2 +-
.../hudi/testutils/HoodieWriteableTestTable.java | 2 +-
.../hudi/client/HoodieFlinkTableServiceClient.java | 4 ++--
.../java/org/apache/hudi/io/FlinkCreateHandle.java | 2 +-
.../hudi/io/storage/row/HoodieRowDataCreateHandle.java | 4 ++--
.../action/commit/FlinkPartitionTTLActionExecutor.java | 2 +-
.../action/commit/BaseJavaCommitActionExecutor.java | 4 ++--
.../table/action/commit/JavaUpsertPartitioner.java | 18 ++++++++----------
.../deltacommit/BaseJavaDeltaCommitActionExecutor.java | 4 ++--
.../hudi/client/TestJavaHoodieBackedMetadata.java | 12 ++++++------
.../commit/TestJavaCopyOnWriteActionExecutor.java | 2 +-
.../hudi/testutils/HoodieJavaClientTestHarness.java | 2 +-
.../SparkBinaryCopyClusteringExecutionStrategy.java | 2 +-
.../SparkExternalFileClusteringExecutionStrategy.java | 2 +-
.../hudi/client/validator/SparkPreCommitValidator.java | 2 +-
.../validator/SqlQueryEqualityPreCommitValidator.java | 8 ++++----
.../SqlQueryInequalityPreCommitValidator.java | 8 ++++----
.../SqlQuerySingleResultPreCommitValidator.java | 4 ++--
.../hudi/io/storage/row/HoodieRowCreateHandle.java | 2 +-
.../action/bootstrap/BaseBootstrapMetadataHandler.java | 2 +-
.../bootstrap/SparkBootstrapCommitActionExecutor.java | 8 +++-----
.../TestHoodieSparkEngineDynamicRepartition.java | 2 +-
.../org/apache/hudi/io/TestHoodieTimelineArchiver.java | 2 +-
.../marker/TestTimelineServerBasedWriteMarkers.java | 4 ++--
66 files changed, 133 insertions(+), 146 deletions(-)
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/async/AsyncClusteringService.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/async/AsyncClusteringService.java
index 2bcd851208fb..2e2588ed28e4 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/async/AsyncClusteringService.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/async/AsyncClusteringService.java
@@ -71,7 +71,7 @@ public abstract class AsyncClusteringService extends
HoodieAsyncTableService {
return Pair.of(CompletableFuture.allOf(IntStream.range(0,
maxConcurrentClustering).mapToObj(i -> CompletableFuture.supplyAsync(() -> {
try {
// Set Compactor Pool Name for allowing users to prioritize compaction
- log.info("Setting pool name for clustering to " +
CLUSTERING_POOL_NAME);
+ log.info("Setting pool name for clustering to {}",
CLUSTERING_POOL_NAME);
context.setProperty(EngineProperty.CLUSTERING_POOL_NAME,
CLUSTERING_POOL_NAME);
while (!isShutdownRequested()) {
final String instant = fetchNextAsyncServiceInstant();
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/async/AsyncCompactService.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/async/AsyncCompactService.java
index 52088d8d683e..6298c01e4ded 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/async/AsyncCompactService.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/async/AsyncCompactService.java
@@ -71,16 +71,16 @@ public abstract class AsyncCompactService extends
HoodieAsyncTableService {
return Pair.of(CompletableFuture.allOf(IntStream.range(0,
maxConcurrentCompaction).mapToObj(i -> CompletableFuture.supplyAsync(() -> {
try {
// Set Compactor Pool Name for allowing users to prioritize compaction
- log.info("Setting pool name for compaction to " + COMPACT_POOL_NAME);
+ log.info("Setting pool name for compaction to {}", COMPACT_POOL_NAME);
context.setProperty(EngineProperty.COMPACTION_POOL_NAME,
COMPACT_POOL_NAME);
while (!isShutdownRequested()) {
final String instantTime = fetchNextAsyncServiceInstant();
if (null != instantTime) {
- log.info("Starting Compaction for instant " + instantTime);
+ log.info("Starting Compaction for instant {}", instantTime);
compactor.compact(instantTime);
- log.info("Finished Compaction for instant " + instantTime);
+ log.info("Finished Compaction for instant {}", instantTime);
}
}
log.info("Compactor shutting down properly!!");
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/async/HoodieAsyncService.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/async/HoodieAsyncService.java
index 917156af89a0..4f207b026e88 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/async/HoodieAsyncService.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/async/HoodieAsyncService.java
@@ -186,7 +186,7 @@ public abstract class HoodieAsyncService implements
Serializable {
* @param instantTime {@link String} to enqueue.
*/
public void enqueuePendingAsyncServiceInstant(String instantTime) {
- log.info("Enqueuing new pending table service instant: " + instantTime);
+ log.info("Enqueuing new pending table service instant: {}", instantTime);
pendingInstants.add(instantTime);
}
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/BaseHoodieTableServiceClient.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/BaseHoodieTableServiceClient.java
index d29fc0bbd32d..f68c078f167e 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/BaseHoodieTableServiceClient.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/BaseHoodieTableServiceClient.java
@@ -1431,7 +1431,7 @@ public abstract class BaseHoodieTableServiceClient<I, T,
O> extends BaseHoodieCl
case CLEAN:
return tableServiceManagerClient.executeClean();
default:
- log.info("Not supported delegate to table service manager,
tableServiceType : " + tableServiceType.getAction());
+ log.info("Not supported delegate to table service manager,
tableServiceType : {}", tableServiceType.getAction());
return Option.empty();
}
}
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/CompactionAdminClient.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/CompactionAdminClient.java
index 32be4b274139..6abe10c6cca7 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/CompactionAdminClient.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/CompactionAdminClient.java
@@ -299,13 +299,12 @@ public class CompactionAdminClient extends
BaseHoodieClient {
context.setJobStatus(this.getClass().getSimpleName(), "Execute
unschedule operations: " + config.getTableName());
return context.map(renameActions, lfPair -> {
try {
- log.info("RENAME " + lfPair.getLeft().getPath() + " => " +
lfPair.getRight().getPath());
+ log.info("RENAME {} => {}", lfPair.getLeft().getPath(),
lfPair.getRight().getPath());
renameLogFile(metaClient, lfPair.getLeft(), lfPair.getRight());
return new RenameOpResult(lfPair, true, Option.empty());
} catch (IOException e) {
log.error("Error renaming log file", e);
- log.error("\n\n\n***NOTE Compaction is in inconsistent state. Try
running \"compaction repair "
- + lfPair.getLeft().getDeltaCommitTime() + "\" to recover from
failure ***\n\n\n");
+ log.error("\n\n\n***NOTE Compaction is in inconsistent state. Try
running \"compaction repair {}\" to recover from failure ***\n\n\n",
lfPair.getLeft().getDeltaCommitTime());
return new RenameOpResult(lfPair, false, Option.of(e));
}
}, parallelism);
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/HoodieTableServiceManagerClient.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/HoodieTableServiceManagerClient.java
index 4f13034c89df..ec7dd1b30b0e 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/HoodieTableServiceManagerClient.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/HoodieTableServiceManagerClient.java
@@ -93,7 +93,7 @@ public class HoodieTableServiceManagerClient {
queryParameters.forEach(builder::addParameter);
String url = builder.toString();
- log.info("Sending request to table management service : (" + url + ")");
+ log.info("Sending request to table management service : ({})", url);
int timeoutMs = this.config.getConnectionTimeoutSec() * 1000;
int requestRetryLimit = config.getConnectionRetryLimit();
int connectionRetryDelay = config.getConnectionRetryDelay();
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/bootstrap/selector/BootstrapRegexModeSelector.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/bootstrap/selector/BootstrapRegexModeSelector.java
index 65fda8e6cf7d..6869016cf885 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/bootstrap/selector/BootstrapRegexModeSelector.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/bootstrap/selector/BootstrapRegexModeSelector.java
@@ -48,7 +48,7 @@ public class BootstrapRegexModeSelector extends
BootstrapModeSelector {
this.bootstrapModeOnMatch = writeConfig.getBootstrapModeForRegexMatch();
this.defaultMode = BootstrapMode.FULL_RECORD.equals(bootstrapModeOnMatch)
? BootstrapMode.METADATA_ONLY : BootstrapMode.FULL_RECORD;
- log.info("Default Mode :" + defaultMode + ", on Match Mode :" +
bootstrapModeOnMatch);
+ log.info("Default Mode :{}, on Match Mode :{}", defaultMode,
bootstrapModeOnMatch);
}
@Override
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/embedded/EmbeddedTimelineService.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/embedded/EmbeddedTimelineService.java
index 32a89f022d19..495346a328d3 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/embedded/EmbeddedTimelineService.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/embedded/EmbeddedTimelineService.java
@@ -97,7 +97,7 @@ public class EmbeddedTimelineService {
synchronized (SERVICE_LOCK) {
if (RUNNING_SERVICES.containsKey(timelineServiceIdentifier)) {
RUNNING_SERVICES.get(timelineServiceIdentifier).addBasePath(writeConfig.getBasePath());
- log.info("Reusing existing embedded timeline server with
configuration: " +
RUNNING_SERVICES.get(timelineServiceIdentifier).serviceConfig);
+ log.info("Reusing existing embedded timeline server with
configuration: {}",
RUNNING_SERVICES.get(timelineServiceIdentifier).serviceConfig);
return RUNNING_SERVICES.get(timelineServiceIdentifier);
}
// if no compatible instance is found, create a new one
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/timeline/versioning/v1/TimelineArchiverV1.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/timeline/versioning/v1/TimelineArchiverV1.java
index bab78324d7de..579b2a8c6c87 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/timeline/versioning/v1/TimelineArchiverV1.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/timeline/versioning/v1/TimelineArchiverV1.java
@@ -359,7 +359,7 @@ public class TimelineArchiverV1<T extends
HoodieAvroPayload, I, K, O> implements
log.info("Not archiving as there is no compaction yet on the
metadata table");
instants = Stream.empty();
} else {
- log.info("Limiting archiving of instants to latest compaction on
metadata table at " + latestCompactionTime.get());
+ log.info("Limiting archiving of instants to latest compaction on
metadata table at {}", latestCompactionTime.get());
instants = instants.filter(instant ->
compareTimestamps(instant.requestedTime(), LESSER_THAN,
latestCompactionTime.get()));
}
@@ -419,7 +419,7 @@ public class TimelineArchiverV1<T extends
HoodieAvroPayload, I, K, O> implements
}
private boolean deleteArchivedInstants(List<HoodieInstant> archivedInstants,
HoodieEngineContext context) throws IOException {
- log.info("Deleting instants " + archivedInstants);
+ log.info("Deleting instants {}", archivedInstants);
List<HoodieInstant> pendingInstants = new ArrayList<>();
List<HoodieInstant> completedInstants = new ArrayList<>();
@@ -463,7 +463,7 @@ public class TimelineArchiverV1<T extends
HoodieAvroPayload, I, K, O> implements
public void archive(HoodieEngineContext context, List<HoodieInstant>
instants) throws HoodieCommitException {
try {
Schema wrapperSchema = HoodieArchivedMetaEntry.getClassSchema();
- log.info("Wrapper schema " + wrapperSchema.toString());
+ log.info("Wrapper schema {}", wrapperSchema);
List<IndexedRecord> records = new ArrayList<>();
for (HoodieInstant hoodieInstant : instants) {
try {
@@ -474,7 +474,7 @@ public class TimelineArchiverV1<T extends
HoodieAvroPayload, I, K, O> implements
}
} catch (Exception e) {
InstantFileNameGenerator fileNameFactory = new
InstantFileNameGeneratorV1();
- log.error("Failed to archive commits, .commit file: " +
fileNameFactory.getFileName(hoodieInstant), e);
+ log.error("Failed to archive commits, .commit file: {}",
fileNameFactory.getFileName(hoodieInstant), e);
if (this.config.isFailOnTimelineArchivingEnabled()) {
throw e;
}
@@ -489,7 +489,7 @@ public class TimelineArchiverV1<T extends
HoodieAvroPayload, I, K, O> implements
private void deleteAnyLeftOverMarkers(HoodieEngineContext context,
HoodieInstant instant) {
WriteMarkers writeMarkers =
WriteMarkersFactory.get(config.getMarkersType(), table,
instant.requestedTime());
if (writeMarkers.deleteMarkerDir(context,
config.getMarkersDeleteParallelism())) {
- log.info("Cleaned up left over marker directory for instant :" +
instant);
+ log.info("Cleaned up left over marker directory for instant :{}",
instant);
}
}
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/BucketIndexConcurrentFileWritesConflictResolutionStrategy.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/BucketIndexConcurrentFileWritesConflictResolutionStrategy.java
index 54112abd75eb..01b071f714a1 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/BucketIndexConcurrentFileWritesConflictResolutionStrategy.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/BucketIndexConcurrentFileWritesConflictResolutionStrategy.java
@@ -51,8 +51,7 @@ public class
BucketIndexConcurrentFileWritesConflictResolutionStrategy
Set<String> intersection = new
HashSet<>(partitionBucketIdSetForFirstInstant);
intersection.retainAll(partitionBucketIdSetForSecondInstant);
if (!intersection.isEmpty()) {
- log.info("Found conflicting writes between first operation = " +
thisOperation
- + ", second operation = " + otherOperation + " , intersecting bucket
ids " + intersection);
+ log.info("Found conflicting writes between first operation = {}, second
operation = {} , intersecting bucket ids {}", thisOperation, otherOperation,
intersection);
return true;
}
return false;
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/DirectMarkerTransactionManager.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/DirectMarkerTransactionManager.java
index 02b027f12d31..90c5e963da1e 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/DirectMarkerTransactionManager.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/DirectMarkerTransactionManager.java
@@ -48,22 +48,20 @@ public class DirectMarkerTransactionManager extends
TransactionManager {
public void beginTransaction(String newTxnOwnerInstantTime, InstantGenerator
instantGenerator) {
if (isLockRequired) {
- LOG.info("Transaction starting for " + newTxnOwnerInstantTime + " and "
+ filePath);
+ LOG.info("Transaction starting for {} and {}", newTxnOwnerInstantTime,
filePath);
lockManager.lock();
reset(changeActionInstant, Option.of(getInstant(newTxnOwnerInstantTime,
instantGenerator)), Option.empty());
- LOG.info("Transaction started for " + newTxnOwnerInstantTime + " and " +
filePath);
+ LOG.info("Transaction started for {} and {}", newTxnOwnerInstantTime,
filePath);
}
}
public void endTransaction(String currentTxnOwnerInstantTime,
InstantGenerator instantGenerator) {
if (isLockRequired) {
- LOG.info("Transaction ending with transaction owner " +
currentTxnOwnerInstantTime
- + " for " + filePath);
+ LOG.info("Transaction ending with transaction owner {} for {}",
currentTxnOwnerInstantTime, filePath);
if (reset(Option.of(getInstant(currentTxnOwnerInstantTime,
instantGenerator)), Option.empty(), Option.empty())) {
lockManager.unlock();
- LOG.info("Transaction ended with transaction owner " +
currentTxnOwnerInstantTime
- + " for " + filePath);
+ LOG.info("Transaction ended with transaction owner {} for {}",
currentTxnOwnerInstantTime, filePath);
}
}
}
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/SimpleConcurrentFileWritesConflictResolutionStrategy.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/SimpleConcurrentFileWritesConflictResolutionStrategy.java
index e2eaa5310303..0d6327272a19 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/SimpleConcurrentFileWritesConflictResolutionStrategy.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/SimpleConcurrentFileWritesConflictResolutionStrategy.java
@@ -142,8 +142,7 @@ public class
SimpleConcurrentFileWritesConflictResolutionStrategy
Set<Pair<String, String>> intersection = new
HashSet<>(partitionAndFileIdsSetForFirstInstant);
intersection.retainAll(partitionAndFileIdsSetForSecondInstant);
if (!intersection.isEmpty()) {
- log.info("Found conflicting writes between first operation = " +
thisOperation
- + ", second operation = " + otherOperation + " , intersecting file
ids " + intersection);
+ log.info("Found conflicting writes between first operation = {}, second
operation = {} , intersecting file ids {}", thisOperation, otherOperation,
intersection);
return true;
}
return false;
@@ -163,8 +162,7 @@ public class
SimpleConcurrentFileWritesConflictResolutionStrategy
String rolledbackCommit = otherOperation.getRolledbackCommit();
String thisCommitTimestamp = thisOperation.getInstantTimestamp();
if (rolledbackCommit != null &&
rolledbackCommit.equals(thisCommitTimestamp)) {
- log.error("Found rollback conflict: rollback operation " +
otherOperation
- + " is rolling back commit " + thisCommitTimestamp + " created by
operation " + thisOperation);
+ log.error("Found rollback conflict: rollback operation {} is rolling
back commit {} created by operation {}", otherOperation, thisCommitTimestamp,
thisOperation);
return true;
}
}
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/lock/FileSystemBasedLockProvider.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/lock/FileSystemBasedLockProvider.java
index 0823dad0acc6..4d65f6a997b6 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/lock/FileSystemBasedLockProvider.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/lock/FileSystemBasedLockProvider.java
@@ -169,7 +169,7 @@ public class FileSystemBasedLockProvider implements
LockProvider<String>, Serial
return true;
}
} catch (IOException | HoodieIOException e) {
- log.error(generateLogStatement(LockState.ALREADY_RELEASED) + " failed to
get lockFile's modification time", e);
+ log.error("{} failed to get lockFile's modification time",
generateLogStatement(LockState.ALREADY_RELEASED), e);
}
return false;
}
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/lock/LockManager.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/lock/LockManager.java
index 21eb5da61575..6be1ebd7c911 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/lock/LockManager.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/lock/LockManager.java
@@ -109,7 +109,7 @@ public class LockManager implements Serializable,
AutoCloseable {
public synchronized LockProvider getLockProvider() {
// Perform lazy initialization of lock provider only if needed
if (lockProvider == null) {
- log.info("LockProvider " + writeConfig.getLockProviderClass());
+ log.info("LockProvider {}", writeConfig.getLockProviderClass());
// Try to load lock provider with HoodieLockMetrics constructor first
Class<?>[] metricsConstructorTypes = {LockConfiguration.class,
StorageConfiguration.class, HoodieLockMetrics.class};
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/utils/TransactionUtils.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/utils/TransactionUtils.java
index 6b5ac8c575aa..cca0486799fd 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/utils/TransactionUtils.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/utils/TransactionUtils.java
@@ -89,8 +89,7 @@ public class TransactionUtils {
try {
ConcurrentOperation otherOperation = new
ConcurrentOperation(instant, table.getMetaClient());
if (resolutionStrategy.hasConflict(thisOperation, otherOperation)) {
- log.info("Conflict encountered between current instant = " +
thisOperation + " and instant = "
- + otherOperation + ", attempting to resolve it...");
+ log.info("Conflict encountered between current instant = {} and
instant = {}, attempting to resolve it...", thisOperation, otherOperation);
resolutionStrategy.resolveConflict(table, thisOperation,
otherOperation);
}
} catch (IOException io) {
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/validator/StreamingOffsetValidator.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/validator/StreamingOffsetValidator.java
index 40e7a4f1635f..0313d57c30c7 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/validator/StreamingOffsetValidator.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/validator/StreamingOffsetValidator.java
@@ -210,7 +210,7 @@ public abstract class StreamingOffsetValidator extends
BasePreCommitValidator {
previousCheckpoint, currentCheckpoint);
if (failurePolicy == ValidationFailurePolicy.WARN_LOG) {
- log.warn(errorMsg + " (failure policy is WARN_LOG, commit will
proceed)");
+ log.warn("{} (failure policy is WARN_LOG, commit will proceed)",
errorMsg);
} else {
throw new HoodieValidationException(errorMsg);
}
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/execution/FileMetadataWriteStatusConverter.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/execution/FileMetadataWriteStatusConverter.java
index 4a11320cab82..ccdee0bdc032 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/execution/FileMetadataWriteStatusConverter.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/execution/FileMetadataWriteStatusConverter.java
@@ -61,7 +61,7 @@ public class FileMetadataWriteStatusConverter<T extends
HoodieRecordPayload, I,
*/
public WriteStatus convert(String parquetFile, String partitionPath,
Map<String, Object> executionConfigs) throws
IOException {
- LOG.info("Creating write status for parquet file " + parquetFile);
+ LOG.info("Creating write status for parquet file {}", parquetFile);
WriteStatus writeStatus = (WriteStatus)
ReflectionUtils.loadClass(this.writeConfig.getWriteStatusClassName(),
this.hoodieTable.shouldTrackSuccessRecords(),
this.writeConfig.getWriteStatusFailureFraction(),
this.hoodieTable.isMetadataTable());
StoragePath parquetFilePath = new StoragePath(parquetFile);
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bucket/ConsistentBucketIndexUtils.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bucket/ConsistentBucketIndexUtils.java
index ab88e8ea8695..16e8a75c01d6 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bucket/ConsistentBucketIndexUtils.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bucket/ConsistentBucketIndexUtils.java
@@ -175,7 +175,7 @@ public class ConsistentBucketIndexUtils {
} catch (FileNotFoundException e) {
return Option.empty();
} catch (IOException e) {
- log.error("Error when loading hashing metadata, partition: " +
partition, e);
+ log.error("Error when loading hashing metadata, partition: {}",
partition, e);
throw new HoodieIndexException("Error while loading hashing metadata",
e);
}
}
@@ -258,7 +258,7 @@ public class ConsistentBucketIndexUtils {
} catch (FileNotFoundException e) {
return Option.empty();
} catch (IOException e) {
- log.error("Error when loading hashing metadata, for path: " +
metaFile.getPath().getName(), e);
+ log.error("Error when loading hashing metadata, for path: {}",
metaFile.getPath().getName(), e);
throw new HoodieIndexException("Error while loading hashing metadata",
e);
}
}
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bucket/HoodieBucketIndex.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bucket/HoodieBucketIndex.java
index 7b9c28b46216..be61454fae36 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bucket/HoodieBucketIndex.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bucket/HoodieBucketIndex.java
@@ -58,7 +58,7 @@ public abstract class HoodieBucketIndex extends
HoodieIndex<Object, Object> {
this.numBuckets = config.getBucketIndexNumBuckets();
this.indexKeyFields =
KeyGenUtils.getIndexKeyFields(config.getBucketIndexHashField());
- log.info("Use bucket index, numBuckets = " + numBuckets + ", indexFields:
" + indexKeyFields);
+ log.info("Use bucket index, numBuckets = {}, indexFields: {}", numBuckets,
indexKeyFields);
}
@Override
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/BaseCreateHandle.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/BaseCreateHandle.java
index 8144ae4c2f85..e24da085a613 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/BaseCreateHandle.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/BaseCreateHandle.java
@@ -117,7 +117,7 @@ public abstract class BaseCreateHandle<T, I, K, O> extends
HoodieWriteHandle<T,
// record successful.
record.deflate();
} catch (Throwable t) {
- log.error("Error writing record " + record, t);
+ log.error("Error writing record {}", record, t);
if (!config.getIgnoreWriteFailed()) {
throw new HoodieException(t.getMessage(), t);
}
@@ -178,7 +178,7 @@ public abstract class BaseCreateHandle<T, I, K, O> extends
HoodieWriteHandle<T,
*/
@Override
public List<WriteStatus> close() {
- log.info("Closing the file " + writeStatus.getFileId() + " as we are done
with all the records " + recordsWritten);
+ log.info("Closing the file {} as we are done with all the records {}",
writeStatus.getFileId(), recordsWritten);
try {
if (isClosed()) {
// Handle has already been closed
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/ExternalFileClusteringWriteHandle.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/ExternalFileClusteringWriteHandle.java
index 8df664db9fd6..23fde1c5ee09 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/ExternalFileClusteringWriteHandle.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/ExternalFileClusteringWriteHandle.java
@@ -63,7 +63,7 @@ public class ExternalFileClusteringWriteHandle<T extends
HoodieRecordPayload, I,
// Create inProgress marker file
createMarkerFile(partitionPath, path.getName());
- LOG.info("New ExternalFileClusteringWriteHandle for partition :" +
partitionPath + " with fileId " + fileId);
+ LOG.info("New ExternalFileClusteringWriteHandle for partition :{} with
fileId {}", partitionPath, fileId);
}
/**
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieAppendHandle.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieAppendHandle.java
index b1826905243e..ef3b92849dc0 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieAppendHandle.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieAppendHandle.java
@@ -255,7 +255,7 @@ public abstract class HoodieAppendHandle<T, I, K, O>
extends HoodieWriteHandle<T
? getInstantTimeForLogFile(record) : deltaWriteStat.getPrevCommit();
createLogWriterForAppend(logInstantTime, fileSliceOpt);
} catch (Exception e) {
- log.error("Error in update task at commit " + instantTime, e);
+ log.error("Error in update task at commit {}", instantTime, e);
writeStatus.setGlobalError(e);
throw new HoodieUpsertException("Failed to initialize HoodieAppendHandle
for FileId: " + fileId
+ " on commit " + instantTime + " on storage path " +
hoodieTable.getMetaClient().getBasePath() + "/" + partitionPath, e);
@@ -378,7 +378,7 @@ public abstract class HoodieAppendHandle<T, I, K, O>
extends HoodieWriteHandle<T
hoodieRecord.deflate();
return true;
} catch (Exception e) {
- log.error("Error writing record " + hoodieRecord, e);
+ log.error("Error writing record {}", hoodieRecord, e);
if (!config.getIgnoreWriteFailed()) {
throw new HoodieException(e.getMessage(), e);
}
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieBinaryCopyHandle.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieBinaryCopyHandle.java
index 94a86f1f9476..fa7baab2af15 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieBinaryCopyHandle.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieBinaryCopyHandle.java
@@ -70,7 +70,7 @@ public class HoodieBinaryCopyHandle<T, I, K, O> extends
HoodieWriteHandle<T, I,
try {
ParquetUtils parquetUtils = new ParquetUtils();
MessageType fileSchema =
parquetUtils.readMessageType(table.getStorage(), inputFiles.get(0));
- log.info("Binary copy schema evolution disabled. Using schema from
input file: " + inputFiles.get(0));
+ log.info("Binary copy schema evolution disabled. Using schema from
input file: {}", inputFiles.get(0));
return fileSchema;
} catch (Exception e) {
log.error("Failed to read schema from input file", e);
@@ -109,8 +109,8 @@ public class HoodieBinaryCopyHandle<T, I, K, O> extends
HoodieWriteHandle<T, I,
}
public void write() {
- log.info("Start to merge source files " + this.inputFiles + " into target
file: " + this.path
- + ". Please pay attention that we will not rolling files based on
max-file-size config during binary copy.");
+ log.info("Start to merge source files {} into target file: {}. Please pay
attention that we will not rolling files based on max-file-size config during
binary copy.",
+ this.inputFiles, this.path);
HoodieTimer timer = HoodieTimer.start();
long records = 0;
try {
@@ -123,12 +123,12 @@ public class HoodieBinaryCopyHandle<T, I, K, O> extends
HoodieWriteHandle<T, I,
this.recordsWritten = records;
this.insertRecordsWritten = records;
}
- log.info("Finish rewriting " + this.path + ". Using " + timer.endTimer() +
" mills");
+ log.info("Finish rewriting {}. Using {} mills", this.path,
timer.endTimer());
}
@Override
public List<WriteStatus> close() {
- log.info("Closing the file " + writeStatus.getFileId() + " as we are done
with all the records " + recordsWritten);
+ log.info("Closing the file {} as we are done with all the records {}",
writeStatus.getFileId(), recordsWritten);
try {
this.writer.close();
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieInlineLogAppendHandle.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieInlineLogAppendHandle.java
index 2fba7e0f831b..80020a799089 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieInlineLogAppendHandle.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieInlineLogAppendHandle.java
@@ -298,7 +298,7 @@ public class HoodieInlineLogAppendHandle<T, I, K, O>
extends HoodieAppendHandle<
if (numberOfRecords >= (maxBlockSize / averageRecordSize)) {
// Recompute averageRecordSize before writing a new block and update
existing value with
// avg of new and old
- log.info("Flush log block to disk, the current avgRecordSize => " +
averageRecordSize);
+ log.info("Flush log block to disk, the current avgRecordSize => {}",
averageRecordSize);
// Delete blocks will be appended after appending all the data blocks.
appendDataAndDeleteBlocks(header, appendDeleteBlocks);
estimatedNumberOfBytesWritten += averageRecordSize * numberOfRecords;
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/IOUtils.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/IOUtils.java
index e67cc98e5017..778feffa51f8 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/IOUtils.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/IOUtils.java
@@ -122,7 +122,7 @@ public class IOUtils {
// TODO(vc): This needs to be revisited
if (mergeHandle.getPartitionPath() == null) {
- log.info("Upsert Handle has partition path as null " +
mergeHandle.getOldFilePath() + ", " + mergeHandle.getWriteStatuses());
+ log.info("Upsert Handle has partition path as null {}, {}",
mergeHandle.getOldFilePath(), mergeHandle.getWriteStatuses());
}
return Collections.singletonList(mergeHandle.close()).iterator();
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metadata/HoodieBackedTableMetadataWriterTableVersionSix.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metadata/HoodieBackedTableMetadataWriterTableVersionSix.java
index 9b6c33ad88ba..5a43cd9aae7d 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metadata/HoodieBackedTableMetadataWriterTableVersionSix.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metadata/HoodieBackedTableMetadataWriterTableVersionSix.java
@@ -237,7 +237,7 @@ public abstract class
HoodieBackedTableMetadataWriterTableVersionSix<I, O> exten
String rollbackInstantTime = createRollbackTimestamp(instantTime);
if
(metadataMetaClient.getActiveTimeline().containsInstant(deltaCommitInstant)) {
- LOG.info("Rolling back MDT deltacommit " +
commitToRollbackInstantTime);
+ LOG.info("Rolling back MDT deltacommit {}",
commitToRollbackInstantTime);
if (!getWriteClient().rollback(commitToRollbackInstantTime,
rollbackInstantTime)) {
throw new HoodieMetadataException("Failed to rollback deltacommit at
" + commitToRollbackInstantTime);
}
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/HoodieTable.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/HoodieTable.java
index ac9c6ad7dcf0..33a6a5f6ca5b 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/HoodieTable.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/HoodieTable.java
@@ -757,7 +757,7 @@ public abstract class HoodieTable<T, I, K, O> implements
Serializable {
.collect(Collectors.toList()),
partitionFilePair -> {
final HoodieStorage storage = metaClient.getStorage();
- log.info("Deleting invalid data file=" + partitionFilePair);
+ log.info("Deleting invalid data file={}", partitionFilePair);
// Delete
try {
StoragePath pathToDelete = new
StoragePath(partitionFilePair.getValue());
@@ -828,7 +828,7 @@ public abstract class HoodieTable<T, I, K, O> implements
Serializable {
throw new HoodieDuplicateDataFileDetectedException("Duplicate data
files detected " + invalidDataPaths);
}
- log.info("Removing duplicate files created due to task retries before
committing. Paths=" + invalidDataPaths);
+ log.info("Removing duplicate files created due to task retries before
committing. Paths={}", invalidDataPaths);
Map<String, List<Pair<String, String>>> invalidPathsByPartition =
invalidDataPaths.stream()
.map(dp ->
Pair.of(new StoragePath(basePath, dp).getParent().toString(),
@@ -1147,7 +1147,7 @@ public abstract class HoodieTable<T, I, K, O> implements
Serializable {
Stream.of(MetadataPartitionType.getValidValues()).forEach(partitionType ->
{
if (shouldDeleteMetadataPartition(partitionType)) {
try {
- log.info("Deleting metadata partition because it is disabled in
writer: " + partitionType.name());
+ log.info("Deleting metadata partition because it is disabled in
writer: {}", partitionType.name());
if (metadataPartitionExists(metaClient.getBasePath(), context,
partitionType.getPartitionPath())) {
deleteMetadataPartition(metaClient.getBasePath(), context,
partitionType.getPartitionPath());
}
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/cluster/strategy/CommitBasedClusteringPlanStrategy.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/cluster/strategy/CommitBasedClusteringPlanStrategy.java
index 694b21fb8f06..7a6c3f2f44d3 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/cluster/strategy/CommitBasedClusteringPlanStrategy.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/cluster/strategy/CommitBasedClusteringPlanStrategy.java
@@ -86,7 +86,7 @@ public class CommitBasedClusteringPlanStrategy<T, I, K, O>
extends PartitionAwar
LOG.error("earliest commit to cluster is not specified");
return Option.empty();
}
- LOG.info("Earliest commit to cluster (exclusive): " + earliestCommit);
+ LOG.info("Earliest commit to cluster (exclusive): {}", earliestCommit);
HoodieTimeline commitTimeline =
metaClient.getCommitsTimeline().findInstantsAfter(earliestCommit).filterCompletedInstants();
// For each completed commit, invoke
getFileSlicesEligibleForCommitBasedClustering
@@ -247,7 +247,7 @@ public class CommitBasedClusteringPlanStrategy<T, I, K, O>
extends PartitionAwar
try {
commitMetadata = TimelineUtils.getCommitMetadata(instant,
metaClient.getActiveTimeline());
} catch (IOException e) {
- LOG.error("Failed to read commit metadata for instant: " + instant, e);
+ LOG.error("Failed to read commit metadata for instant: {}", instant,
e);
throw new HoodieException("Failed to read commit metadata for instant:
" + instant, e);
}
} else {
@@ -285,7 +285,7 @@ public class CommitBasedClusteringPlanStrategy<T, I, K, O>
extends PartitionAwar
try {
pathInfo = storage.getPathInfo(path);
} catch (Exception e) {
- LOG.error("Could not get PathInfo for file path: " + path, e);
+ LOG.error("Could not get PathInfo for file path: {}", path, e);
throw new HoodieException("Could not get PathInfo for file path: " +
path, e);
}
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/cluster/strategy/PartitionAwareClusteringPlanStrategy.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/cluster/strategy/PartitionAwareClusteringPlanStrategy.java
index 3d49c5f406e1..fc24e7be26a6 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/cluster/strategy/PartitionAwareClusteringPlanStrategy.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/cluster/strategy/PartitionAwareClusteringPlanStrategy.java
@@ -82,15 +82,15 @@ public abstract class
PartitionAwareClusteringPlanStrategy<T,I,K,O> extends Clus
// check if max size is reached and create new group, if needed.
if (totalSizeSoFar + currentSize >
writeConfig.getClusteringMaxBytesInGroup() && !currentGroup.isEmpty()) {
int numOutputGroups = getNumberOfOutputFileGroups(totalSizeSoFar,
writeConfig.getClusteringTargetFileMaxBytes());
- log.info("Adding one clustering group " + totalSizeSoFar + " max
bytes: "
- + writeConfig.getClusteringMaxBytesInGroup() + " num input slices:
" + currentGroup.size() + " output groups: " + numOutputGroups);
+ log.info("Adding one clustering group {} max bytes: {} num input
slices: {} output groups: {}",
+ totalSizeSoFar, writeConfig.getClusteringMaxBytesInGroup(),
currentGroup.size(), numOutputGroups);
fileSliceGroups.add(Pair.of(currentGroup, numOutputGroups));
currentGroup = new ArrayList<>();
totalSizeSoFar = 0;
// if fileSliceGroups's size reach the max group, stop loop
if (fileSliceGroups.size() >= writeConfig.getClusteringMaxNumGroups())
{
- log.info("Having generated the maximum number of groups : " +
writeConfig.getClusteringMaxNumGroups());
+ log.info("Having generated the maximum number of groups : {}",
writeConfig.getClusteringMaxNumGroups());
partialScheduled = true;
break;
}
@@ -104,8 +104,8 @@ public abstract class
PartitionAwareClusteringPlanStrategy<T,I,K,O> extends Clus
if (!currentGroup.isEmpty()) {
int numOutputGroups = getNumberOfOutputFileGroups(totalSizeSoFar,
writeConfig.getClusteringTargetFileMaxBytes());
- log.info("Adding final clustering group " + totalSizeSoFar + " max
bytes: "
- + writeConfig.getClusteringMaxBytesInGroup() + " num input slices: "
+ currentGroup.size() + " output groups: " + numOutputGroups);
+ log.info("Adding final clustering group {} max bytes: {} num input
slices: {} output groups: {}",
+ totalSizeSoFar, writeConfig.getClusteringMaxBytesInGroup(),
currentGroup.size(), numOutputGroups);
fileSliceGroups.add(Pair.of(currentGroup, numOutputGroups));
}
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BaseCommitActionExecutor.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BaseCommitActionExecutor.java
index ff9fcb866692..c7e7f0287ac1 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BaseCommitActionExecutor.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BaseCommitActionExecutor.java
@@ -188,7 +188,7 @@ public abstract class BaseCommitActionExecutor<T, I, K, O,
R>
initializeLastCompletedTnxAndPendingInstants();
}
autoCommit(result);
- log.info("Completed commit for " + instantTime);
+ log.info("Completed commit for {}", instantTime);
}
protected void autoCommit(HoodieWriteMetadata<O> result) {
@@ -216,7 +216,7 @@ public abstract class BaseCommitActionExecutor<T, I, K, O,
R>
protected void commit(HoodieWriteMetadata<O> result, List<HoodieWriteStat>
writeStats) {
String actionType = getCommitActionType();
- log.info("Committing " + instantTime + ", action Type " + actionType + ",
operation Type " + operationType);
+ log.info("Committing {}, action Type {}, operation Type {}", instantTime,
actionType, operationType);
result.setCommitted(true);
result.setWriteStats(writeStats);
// Finalize write
@@ -234,7 +234,7 @@ public abstract class BaseCommitActionExecutor<T, I, K, O,
R>
activeTimeline.saveAsComplete(false,
table.getMetaClient().createNewInstant(State.INFLIGHT, actionType,
instantTime), Option.of(metadata),
completedInstant ->
table.getMetaClient().getTableFormat().commit(metadata, completedInstant,
table.getContext(), table.getMetaClient(), table.getViewManager()));
- log.info("Committed " + instantTime);
+ log.info("Committed {}", instantTime);
result.setCommitMetadata(Option.of(metadata));
// update cols to Index as applicable
HoodieColumnStatsIndexUtils.updateColsToIndex(table, config, metadata,
actionType,
@@ -308,7 +308,7 @@ public abstract class BaseCommitActionExecutor<T, I, K, O,
R>
writeMetadata.setWriteStatuses(statuses);
- log.debug("Create place holder commit metadata for clustering with instant
time " + instantTime);
+ log.debug("Create place holder commit metadata for clustering with instant
time {}", instantTime);
HoodieCommitMetadata commitMetadata =
CommitUtils.buildMetadata(Collections.emptyList(), Collections.emptyMap(),
extraMetadata, operationType, schema.get().toString(),
getCommitActionType());
writeMetadata.setCommitMetadata(Option.of(commitMetadata));
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/ScheduleCompactionActionExecutor.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/ScheduleCompactionActionExecutor.java
index 298beb15b7e0..6f03b69dcb04 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/ScheduleCompactionActionExecutor.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/ScheduleCompactionActionExecutor.java
@@ -124,11 +124,11 @@ public class ScheduleCompactionActionExecutor<T, I, K, O>
extends BaseTableServi
@Nullable
private HoodieCompactionPlan scheduleCompaction() {
- log.info("Checking if compaction needs to be run on " +
config.getBasePath());
+ log.info("Checking if compaction needs to be run on {}",
config.getBasePath());
// judge if we need to compact according to num delta commits and time
elapsed
boolean compactable =
needCompact(config.getInlineCompactTriggerStrategy());
if (compactable) {
- log.info("Generating compaction plan for merge on read table " +
config.getBasePath());
+ log.info("Generating compaction plan for merge on read table {}",
config.getBasePath());
try {
context.setJobStatus(this.getClass().getSimpleName(), "Compaction:
generating compaction plan");
return planGenerator.generateCompactionPlan(instantTime);
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/plan/generators/HoodieCompactionPlanGenerator.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/plan/generators/HoodieCompactionPlanGenerator.java
index 381cf86f28a0..657b82da7a9b 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/plan/generators/HoodieCompactionPlanGenerator.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/plan/generators/HoodieCompactionPlanGenerator.java
@@ -47,7 +47,7 @@ public class HoodieCompactionPlanGenerator<T extends
HoodieRecordPayload, I, K,
BaseTableServicePlanActionExecutor
executor) {
super(table, engineContext, writeConfig, executor);
this.compactionStrategy = writeConfig.getCompactionStrategy();
- log.info("Compaction Strategy used is: " + compactionStrategy.toString());
+ log.info("Compaction Strategy used is: {}", compactionStrategy);
}
@Override
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/index/AbstractIndexingCatchupTask.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/index/AbstractIndexingCatchupTask.java
index c14df6312ecc..2ab39cd30534 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/index/AbstractIndexingCatchupTask.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/index/AbstractIndexingCatchupTask.java
@@ -107,7 +107,7 @@ public abstract class AbstractIndexingCatchupTask
implements IndexingCatchupTask
try {
// we need take a lock here as inflight writer could also try to
update the timeline
transactionManager.beginStateChange(Option.of(instant),
Option.empty());
- log.info("Updating metadata table for instant: " + instant);
+ log.info("Updating metadata table for instant: {}", instant);
switch (instant.getAction()) {
case HoodieTimeline.COMMIT_ACTION:
case HoodieTimeline.DELTA_COMMIT_ACTION:
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/restore/BaseRestoreActionExecutor.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/restore/BaseRestoreActionExecutor.java
index 9ad9159ecef6..1be128c5bde7 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/restore/BaseRestoreActionExecutor.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/restore/BaseRestoreActionExecutor.java
@@ -86,7 +86,7 @@ public abstract class BaseRestoreActionExecutor<T, I, K, O>
extends BaseActionEx
instantsToRollback.forEach(instant -> {
instantToMetadata.put(instant.requestedTime(),
Collections.singletonList(rollbackInstant(instant)));
- log.info("Deleted instant " + instant);
+ log.info("Deleted instant {}", instant);
});
return finishRestore(instantToMetadata,
@@ -143,7 +143,7 @@ public abstract class BaseRestoreActionExecutor<T, I, K, O>
extends BaseActionEx
table.getActiveTimeline().deletePending(instantGenerator.createNewInstant(HoodieInstant.State.INFLIGHT,
HoodieTimeline.ROLLBACK_ACTION, entry.requestedTime()));
table.getActiveTimeline().deletePending(instantGenerator.createNewInstant(HoodieInstant.State.REQUESTED,
HoodieTimeline.ROLLBACK_ACTION, entry.requestedTime()));
});
- log.info("Commits " + instantsRolledBack + " rollback is complete.
Restored table to " + savepointToRestoreTimestamp);
+ log.info("Commits {} rollback is complete. Restored table to {}",
instantsRolledBack, savepointToRestoreTimestamp);
return restoreMetadata;
}
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/BaseRollbackActionExecutor.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/BaseRollbackActionExecutor.java
index b319b629a400..86fc7e981b4c 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/BaseRollbackActionExecutor.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/BaseRollbackActionExecutor.java
@@ -210,7 +210,7 @@ public abstract class BaseRollbackActionExecutor<T, I, K,
O> extends BaseActionE
if (!table.getIndex().rollbackCommit(instantToRollback.requestedTime())) {
throw new HoodieRollbackException("Rollback index changes failed, for
time :" + instantToRollback);
}
- log.info("Index rolled back for commits " + instantToRollback);
+ log.info("Index rolled back for commits {}", instantToRollback);
}
public List<HoodieRollbackStat> doRollbackAndGetStats(HoodieRollbackPlan
hoodieRollbackPlan) {
@@ -235,7 +235,7 @@ public abstract class BaseRollbackActionExecutor<T, I, K,
O> extends BaseActionE
try {
List<HoodieRollbackStat> stats = executeRollback(hoodieRollbackPlan);
- log.info("Rolled back inflight instant " + instantTimeToRollback);
+ log.info("Rolled back inflight instant {}", instantTimeToRollback);
if (!isPendingCompaction) {
rollBackIndex();
}
@@ -289,7 +289,7 @@ public abstract class BaseRollbackActionExecutor<T, I, K,
O> extends BaseActionE
// when skipLocking is true, the caller should have already held the
lock.
table.getActiveTimeline().transitionRollbackInflightToComplete(false,
inflightInstant, rollbackMetadata,
completedInstant ->
table.getMetaClient().getTableFormat().completedRollback(completedInstant,
table.getContext(), table.getMetaClient(), table.getViewManager()));
- log.info("Rollback of Commits " +
rollbackMetadata.getCommitsRollback() + " is complete");
+ log.info("Rollback of Commits {} is complete",
rollbackMetadata.getCommitsRollback());
}
} finally {
if (enableLocking) {
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/CopyOnWriteRollbackActionExecutor.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/CopyOnWriteRollbackActionExecutor.java
index d3f366289696..5b97a4ef9e15 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/CopyOnWriteRollbackActionExecutor.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/CopyOnWriteRollbackActionExecutor.java
@@ -66,7 +66,7 @@ public class CopyOnWriteRollbackActionExecutor<T, I, K, O>
extends BaseRollbackA
HoodieActiveTimeline activeTimeline = table.getActiveTimeline();
if (instantToRollback.isCompleted()) {
- log.info("Unpublishing instant " + instantToRollback);
+ log.info("Unpublishing instant {}", instantToRollback);
table.getMetaClient().getTableFormat().rollback(instantToRollback,
table.getContext(), table.getMetaClient(), table.getViewManager());
// Revert the completed instant to inflight in native format.
resolvedInstant = activeTimeline.revertToInflight(instantToRollback);
@@ -88,13 +88,13 @@ public class CopyOnWriteRollbackActionExecutor<T, I, K, O>
extends BaseRollbackA
// deleting the timeline file
if (!resolvedInstant.isRequested()) {
// delete all the data files for this commit
- log.info("Clean out all base files generated for commit: " +
resolvedInstant);
+ log.info("Clean out all base files generated for commit: {}",
resolvedInstant);
stats = executeRollback(resolvedInstant, hoodieRollbackPlan);
}
dropBootstrapIndexIfNeeded(instantToRollback);
- log.info("Time(in ms) taken to finish rollback " +
rollbackTimer.endTimer());
+ log.info("Time(in ms) taken to finish rollback {}",
rollbackTimer.endTimer());
return stats;
}
}
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/ListingBasedRollbackStrategy.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/ListingBasedRollbackStrategy.java
index ff28dc99c586..433c769381db 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/ListingBasedRollbackStrategy.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/ListingBasedRollbackStrategy.java
@@ -215,7 +215,7 @@ public class ListingBasedRollbackStrategy implements
BaseRollbackPlanActionExecu
return hoodieRollbackRequests.stream();
}, numPartitions);
} catch (Exception e) {
- log.error("Generating rollback requests failed for " +
instantToRollback.requestedTime(), e);
+ log.error("Generating rollback requests failed for {}",
instantToRollback.requestedTime(), e);
throw new HoodieRollbackException("Generating rollback requests failed
for " + instantToRollback.requestedTime(), e);
}
}
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/MergeOnReadRollbackActionExecutor.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/MergeOnReadRollbackActionExecutor.java
index 1373d9679e02..bfe783779746 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/MergeOnReadRollbackActionExecutor.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/MergeOnReadRollbackActionExecutor.java
@@ -60,11 +60,11 @@ public class MergeOnReadRollbackActionExecutor<T, I, K, O>
extends BaseRollbackA
protected List<HoodieRollbackStat> executeRollback(HoodieRollbackPlan
hoodieRollbackPlan) {
HoodieTimer rollbackTimer = HoodieTimer.start();
- log.info("Rolling back instant " + instantToRollback);
+ log.info("Rolling back instant {}", instantToRollback);
// Atomically un-publish all non-inflight commits
if (instantToRollback.isCompleted()) {
- log.info("Un-publishing instant " + instantToRollback + ",
deleteInstants=" + deleteInstants);
+ log.info("Un-publishing instant {}, deleteInstants={}",
instantToRollback, deleteInstants);
resolvedInstant =
table.getActiveTimeline().revertToInflight(instantToRollback);
// reload meta-client to reflect latest timeline status
table.getMetaClient().reloadActiveTimeline();
@@ -81,13 +81,13 @@ public class MergeOnReadRollbackActionExecutor<T, I, K, O>
extends BaseRollbackA
// For Requested State (like failure during index lookup), there is
nothing to do rollback other than
// deleting the timeline file
if (!resolvedInstant.isRequested()) {
- log.info("Unpublished " + resolvedInstant);
+ log.info("Unpublished {}", resolvedInstant);
allRollbackStats = executeRollback(instantToRollback,
hoodieRollbackPlan);
}
dropBootstrapIndexIfNeeded(resolvedInstant);
- log.info("Time(in ms) taken to finish rollback " +
rollbackTimer.endTimer());
+ log.info("Time(in ms) taken to finish rollback {}",
rollbackTimer.endTimer());
return allRollbackStats;
}
}
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/marker/TimelineServerBasedWriteMarkers.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/marker/TimelineServerBasedWriteMarkers.java
index b31fdc94178a..1b9880327473 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/marker/TimelineServerBasedWriteMarkers.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/marker/TimelineServerBasedWriteMarkers.java
@@ -133,8 +133,7 @@ public class TimelineServerBasedWriteMarkers extends
WriteMarkers {
Map<String, String> paramsMap = getConfigMap(partitionPath,
markerFileName, false);
boolean success = executeCreateMarkerRequest(paramsMap, partitionPath,
markerFileName);
- log.info("[timeline-server-based] Created marker file " + partitionPath +
"/" + markerFileName
- + " in " + timer.endTimer() + " ms");
+ log.info("[timeline-server-based] Created marker file {}/{} in {} ms",
partitionPath, markerFileName, timer.endTimer());
if (success) {
return Option.of(new
StoragePath(FSUtils.constructAbsolutePath(markerDirPath, partitionPath),
markerFileName));
} else {
@@ -151,8 +150,7 @@ public class TimelineServerBasedWriteMarkers extends
WriteMarkers {
boolean success = executeCreateMarkerRequest(paramsMap, partitionPath,
markerFileName);
- log.info("[timeline-server-based] Created marker file with early conflict
detection " + partitionPath + "/" + markerFileName
- + " in " + timer.endTimer() + " ms");
+ log.info("[timeline-server-based] Created marker file with early conflict
detection {}/{} in {} ms", partitionPath, markerFileName, timer.endTimer());
if (success) {
return Option.of(new
StoragePath(FSUtils.constructAbsolutePath(markerDirPath, partitionPath),
markerFileName));
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/FiveToSixUpgradeHandler.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/FiveToSixUpgradeHandler.java
index 62a668a1acc6..c7089175d664 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/FiveToSixUpgradeHandler.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/FiveToSixUpgradeHandler.java
@@ -64,12 +64,12 @@ public class FiveToSixUpgradeHandler implements
UpgradeHandler {
compactionTimeline.getInstantsAsStream().forEach(
deleteInstant -> {
- log.info("Deleting instant " + deleteInstant + " in auxiliary meta
path " + metaClient.getMetaAuxiliaryPath());
+ log.info("Deleting instant {} in auxiliary meta path {}",
deleteInstant, metaClient.getMetaAuxiliaryPath());
StoragePath metaFile = new
StoragePath(metaClient.getMetaAuxiliaryPath(),
factory.getFileName(deleteInstant));
try {
if (metaClient.getStorage().exists(metaFile)) {
metaClient.getStorage().deleteFile(metaFile);
- log.info("Deleted instant file in auxiliary meta path : " +
metaFile);
+ log.info("Deleted instant file in auxiliary meta path : {}",
metaFile);
}
} catch (IOException e) {
throw new
HoodieUpgradeDowngradeException(HoodieTableVersion.FIVE.versionCode(),
HoodieTableVersion.SIX.versionCode(), true, e);
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/UpgradeDowngrade.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/UpgradeDowngrade.java
index 0d17a75a7da4..febb815ad34f 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/UpgradeDowngrade.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/UpgradeDowngrade.java
@@ -208,7 +208,7 @@ public class UpgradeDowngrade {
// Perform the actual upgrade/downgrade; this has to be idempotent, for
now.
- log.info("Attempting to move table from version " + fromVersion + " to " +
toVersion);
+ log.info("Attempting to move table from version {} to {}", fromVersion,
toVersion);
Map<ConfigProperty, String> tablePropsToAdd = new Hashtable<>();
Set<ConfigProperty> tablePropsToRemove = new HashSet<>();
if (isUpgrade) {
diff --git
a/hudi-client/hudi-client-common/src/test/java/org/apache/hudi/client/utils/TestLegacyArchivedMetaEntryReader.java
b/hudi-client/hudi-client-common/src/test/java/org/apache/hudi/client/utils/TestLegacyArchivedMetaEntryReader.java
index ac6e7df56038..7bab6f5a19a1 100644
---
a/hudi-client/hudi-client-common/src/test/java/org/apache/hudi/client/utils/TestLegacyArchivedMetaEntryReader.java
+++
b/hudi-client/hudi-client-common/src/test/java/org/apache/hudi/client/utils/TestLegacyArchivedMetaEntryReader.java
@@ -117,13 +117,13 @@ public class TestLegacyArchivedMetaEntryReader {
public void archive(HoodieTableMetaClient metaClient, List<HoodieInstant>
instants) throws HoodieCommitException {
try (HoodieLogFormat.Writer writer = openWriter(metaClient)) {
Schema wrapperSchema = HoodieArchivedMetaEntry.getClassSchema();
- log.info("Wrapper schema " + wrapperSchema.toString());
+ log.info("Wrapper schema {}", wrapperSchema);
List<IndexedRecord> records = new ArrayList<>();
for (HoodieInstant hoodieInstant : instants) {
try {
records.add(convertToAvroRecord(hoodieInstant, metaClient));
} catch (Exception e) {
- log.error("Failed to archive commits, .commit file: " +
INSTANT_FILE_NAME_GENERATOR.getFileName(hoodieInstant), e);
+ log.error("Failed to archive commits, .commit file: {}",
INSTANT_FILE_NAME_GENERATOR.getFileName(hoodieInstant), e);
throw e;
}
}
diff --git
a/hudi-client/hudi-client-common/src/test/java/org/apache/hudi/table/action/rollback/TestRollbackHelper.java
b/hudi-client/hudi-client-common/src/test/java/org/apache/hudi/table/action/rollback/TestRollbackHelper.java
index 705aec57e66d..1f0f801d89b7 100644
---
a/hudi-client/hudi-client-common/src/test/java/org/apache/hudi/table/action/rollback/TestRollbackHelper.java
+++
b/hudi-client/hudi-client-common/src/test/java/org/apache/hudi/table/action/rollback/TestRollbackHelper.java
@@ -341,7 +341,7 @@ class TestRollbackHelper extends HoodieRollbackTestBase {
fail("Should not have reached here");
} catch (HoodieException e) {
if (!(e.getCause() instanceof HoodieIOException)) {
- log.error("Expected HoodieIOException to be thrown, but found " +
e.getCause() + ", w/ error msg " + e.getCause().getMessage());
+ log.error("Expected HoodieIOException to be thrown, but found {}, w/
error msg {}", e.getCause(), e.getCause().getMessage());
}
assertTrue(e.getCause() instanceof HoodieIOException);
assertTrue(e.getCause().getMessage().contains("Failing to delete file
during rollback execution failed : " + expectedFileToFailOnDeletion));
diff --git
a/hudi-client/hudi-client-common/src/test/java/org/apache/hudi/testutils/HoodieWriteableTestTable.java
b/hudi-client/hudi-client-common/src/test/java/org/apache/hudi/testutils/HoodieWriteableTestTable.java
index 78e158f78608..eaa661eb77b5 100644
---
a/hudi-client/hudi-client-common/src/test/java/org/apache/hudi/testutils/HoodieWriteableTestTable.java
+++
b/hudi-client/hudi-client-common/src/test/java/org/apache/hudi/testutils/HoodieWriteableTestTable.java
@@ -111,7 +111,7 @@ public class HoodieWriteableTestTable extends
HoodieMetadataTestTable {
StoragePath baseFilePath = new StoragePath(Paths.get(basePath, partition,
fileName).toString());
if (storage.exists(baseFilePath)) {
- log.warn("Deleting the existing base file " + baseFilePath);
+ log.warn("Deleting the existing base file {}", baseFilePath);
storage.deleteFile(baseFilePath);
}
diff --git
a/hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/HoodieFlinkTableServiceClient.java
b/hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/HoodieFlinkTableServiceClient.java
index 72ae3a967ab4..929515115627 100644
---
a/hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/HoodieFlinkTableServiceClient.java
+++
b/hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/HoodieFlinkTableServiceClient.java
@@ -99,7 +99,7 @@ public class HoodieFlinkTableServiceClient<T> extends
BaseHoodieTableServiceClie
+ config.getBasePath() + " at time " + compactionCommitTime, e);
}
}
- log.info("Compacted successfully on commit " + compactionCommitTime);
+ log.info("Compacted successfully on commit {}", compactionCommitTime);
} finally {
if (config.getWriteConcurrencyMode().supportsMultiWriter()) {
this.heartbeatClient.stop(compactionCommitTime);
@@ -159,7 +159,7 @@ public class HoodieFlinkTableServiceClient<T> extends
BaseHoodieTableServiceClie
+ config.getBasePath() + " at time " + clusteringCommitTime, e);
}
}
- log.info("Clustering successfully on commit " + clusteringCommitTime);
+ log.info("Clustering successfully on commit {}", clusteringCommitTime);
}
@Override
diff --git
a/hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkCreateHandle.java
b/hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkCreateHandle.java
index 038c6f8664e6..e788a82dda52 100644
---
a/hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkCreateHandle.java
+++
b/hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkCreateHandle.java
@@ -90,7 +90,7 @@ public class FlinkCreateHandle<T, I, K, O>
final StoragePath path = makeNewFilePath(partitionPath, lastDataFileName);
try {
if (storage.exists(path)) {
- log.info("Deleting invalid INSERT file due to task retry: " +
lastDataFileName);
+ log.info("Deleting invalid INSERT file due to task retry: {}",
lastDataFileName);
storage.deleteFile(path);
}
} catch (IOException e) {
diff --git
a/hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/storage/row/HoodieRowDataCreateHandle.java
b/hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/storage/row/HoodieRowDataCreateHandle.java
index 35953870957d..5b50aa0e2d11 100644
---
a/hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/storage/row/HoodieRowDataCreateHandle.java
+++
b/hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/storage/row/HoodieRowDataCreateHandle.java
@@ -130,7 +130,7 @@ public class HoodieRowDataCreateHandle implements
Serializable {
} catch (IOException e) {
throw new HoodieInsertException("Failed to initialize file writer for
path " + path, e);
}
- log.info("New handle created for partition :" + partitionPath + " with
fileId " + fileId);
+ log.info("New handle created for partition :{} with fileId {}",
partitionPath, fileId);
}
/**
@@ -170,7 +170,7 @@ public class HoodieRowDataCreateHandle implements
Serializable {
? HoodieRecordDelegate.create(recordKey, partitionPath, null,
newRecordLocation) : null;
writeStatus.markSuccess(recordDelegate, recordMetadata);
} catch (Throwable t) {
- log.error("Error writing record " + record, t);
+ log.error("Error writing record {}", record, t);
if (!writeConfig.getIgnoreWriteFailed()) {
throw new HoodieException(t.getMessage(), t);
}
diff --git
a/hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/action/commit/FlinkPartitionTTLActionExecutor.java
b/hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/action/commit/FlinkPartitionTTLActionExecutor.java
index dc3b38c5d810..1b8f965d5a06 100644
---
a/hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/action/commit/FlinkPartitionTTLActionExecutor.java
+++
b/hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/action/commit/FlinkPartitionTTLActionExecutor.java
@@ -58,7 +58,7 @@ public class FlinkPartitionTTLActionExecutor<T> extends
BaseFlinkCommitActionExe
if (expiredPartitions.isEmpty()) {
return emptyResult;
}
- log.info("Partition ttl find the following expired partitions to delete:
" + String.join(",", expiredPartitions));
+ log.info("Partition ttl find the following expired partitions to delete:
{}", String.join(",", expiredPartitions));
return new FlinkAutoCommitActionExecutor(new
FlinkDeletePartitionCommitActionExecutor<>(context, config, table, instantTime,
expiredPartitions)).execute();
} catch (HoodieDeletePartitionPendingTableServiceException
deletePartitionPendingTableServiceException) {
log.info("Partition is under table service, do nothing, call delete
partition next time.");
diff --git
a/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/BaseJavaCommitActionExecutor.java
b/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/BaseJavaCommitActionExecutor.java
index 43e5dd260561..7746bdf3be7e 100644
---
a/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/BaseJavaCommitActionExecutor.java
+++
b/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/BaseJavaCommitActionExecutor.java
@@ -94,7 +94,7 @@ public abstract class BaseJavaCommitActionExecutor<T> extends
WorkloadProfile workloadProfile =
new WorkloadProfile(buildProfile(inputRecords),
table.getIndex().canIndexLogFiles());
- log.info("Input workload profile :" + workloadProfile);
+ log.info("Input workload profile :{}", workloadProfile);
final Partitioner partitioner = getPartitioner(workloadProfile);
try {
saveWorkloadProfileMetadataToInflight(workloadProfile, instantTime);
@@ -236,7 +236,7 @@ public abstract class BaseJavaCommitActionExecutor<T>
extends
throws IOException {
// This is needed since sometimes some buckets are never picked in
getPartition() and end up with 0 records
if (!recordItr.hasNext()) {
- log.info("Empty partition with fileId => " + fileId);
+ log.info("Empty partition with fileId => {}", fileId);
return Collections.singletonList((List<WriteStatus>)
Collections.EMPTY_LIST).iterator();
}
// these are updates
diff --git
a/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/JavaUpsertPartitioner.java
b/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/JavaUpsertPartitioner.java
index 15010d21a0d6..9b86e6ccb806 100644
---
a/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/JavaUpsertPartitioner.java
+++
b/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/JavaUpsertPartitioner.java
@@ -93,9 +93,8 @@ public class JavaUpsertPartitioner<T> implements Partitioner
{
assignUpdates(workloadProfile);
assignInserts(workloadProfile, context);
- log.info("Total Buckets :" + totalBuckets + ", buckets info => " +
bucketInfoMap + ", \n"
- + "Partition to insert buckets => " + partitionPathToInsertBucketInfos
+ ", \n"
- + "UpdateLocations mapped to buckets =>" + updateLocationToBucket);
+ log.info("Total Buckets :{}, buckets info => {}, \nPartition to insert
buckets => {}, \nUpdateLocations mapped to buckets =>{}",
+ totalBuckets, bucketInfoMap, partitionPathToInsertBucketInfos,
updateLocationToBucket);
}
private void assignUpdates(WorkloadProfile profile) {
@@ -132,7 +131,7 @@ public class JavaUpsertPartitioner<T> implements
Partitioner {
long averageRecordSize =
averageBytesPerRecord(table.getMetaClient().getActiveTimeline().getCommitAndReplaceTimeline().filterCompletedInstants(),
config);
- log.info("AvgRecordSize => " + averageRecordSize);
+ log.info("AvgRecordSize => {}", averageRecordSize);
Map<String, List<SmallFile>> partitionSmallFilesMap =
getSmallFilesForPartitions(new ArrayList<String>(partitionPaths),
context);
@@ -145,7 +144,7 @@ public class JavaUpsertPartitioner<T> implements
Partitioner {
List<SmallFile> smallFiles =
partitionSmallFilesMap.getOrDefault(partitionPath, new ArrayList<>());
this.smallFiles.addAll(smallFiles);
- log.info("For partitionPath : " + partitionPath + " Small Files => " +
smallFiles);
+ log.info("For partitionPath : {} Small Files => {}", partitionPath,
smallFiles);
long totalUnassignedInserts = pStat.getNumInserts();
List<Integer> bucketNumbers = new ArrayList<>();
@@ -160,10 +159,10 @@ public class JavaUpsertPartitioner<T> implements
Partitioner {
int bucket;
if
(updateLocationToBucket.containsKey(smallFile.location.getFileId())) {
bucket =
updateLocationToBucket.get(smallFile.location.getFileId());
- log.info("Assigning " + recordsToAppend + " inserts to existing
update bucket " + bucket);
+ log.info("Assigning {} inserts to existing update bucket {}",
recordsToAppend, bucket);
} else {
bucket = addUpdateBucket(partitionPath,
smallFile.location.getFileId());
- log.info("Assigning " + recordsToAppend + " inserts to new
update bucket " + bucket);
+ log.info("Assigning {} inserts to new update bucket {}",
recordsToAppend, bucket);
}
if (profile.hasOutputWorkLoadStats()) {
outputWorkloadStats.addInserts(smallFile.location,
recordsToAppend);
@@ -182,8 +181,7 @@ public class JavaUpsertPartitioner<T> implements
Partitioner {
}
int insertBuckets = (int) Math.ceil((1.0 * totalUnassignedInserts) /
insertRecordsPerBucket);
- log.info("After small file assignment: unassignedInserts => " +
totalUnassignedInserts
- + ", totalInsertBuckets => " + insertBuckets + ",
recordsPerBucket => " + insertRecordsPerBucket);
+ log.info("After small file assignment: unassignedInserts => {},
totalInsertBuckets => {}, recordsPerBucket => {}", totalUnassignedInserts,
insertBuckets, insertRecordsPerBucket);
for (int b = 0; b < insertBuckets; b++) {
bucketNumbers.add(totalBuckets);
if (b < insertBuckets - 1) {
@@ -210,7 +208,7 @@ public class JavaUpsertPartitioner<T> implements
Partitioner {
currentCumulativeWeight += bkt.weight;
insertBuckets.add(new InsertBucketCumulativeWeightPair(bkt,
currentCumulativeWeight));
}
- log.info("Total insert buckets for partition path " + partitionPath +
" => " + insertBuckets);
+ log.info("Total insert buckets for partition path {} => {}",
partitionPath, insertBuckets);
partitionPathToInsertBucketInfos.put(partitionPath, insertBuckets);
}
if (profile.hasOutputWorkLoadStats()) {
diff --git
a/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/deltacommit/BaseJavaDeltaCommitActionExecutor.java
b/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/deltacommit/BaseJavaDeltaCommitActionExecutor.java
index c8e5c5bce8ce..6a205ca75371 100644
---
a/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/deltacommit/BaseJavaDeltaCommitActionExecutor.java
+++
b/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/deltacommit/BaseJavaDeltaCommitActionExecutor.java
@@ -71,10 +71,10 @@ abstract class BaseJavaDeltaCommitActionExecutor<T> extends
BaseJavaCommitAction
@Override
public Iterator<List<WriteStatus>> handleUpdate(String partitionPath, String
fileId, Iterator<HoodieRecord<T>> recordItr) throws IOException {
- log.info("Merging updates for commit " + instantTime + " for file " +
fileId);
+ log.info("Merging updates for commit {} for file {}", instantTime, fileId);
if (!table.getIndex().canIndexLogFiles() && partitioner != null
&& partitioner.getSmallFileIds().contains(fileId)) {
- log.info("Small file corrections for updates for commit " + instantTime
+ " for file " + fileId);
+ log.info("Small file corrections for updates for commit {} for file {}",
instantTime, fileId);
return super.handleUpdate(partitionPath, fileId, recordItr);
} else {
if (table.requireSortedRecords()) {
diff --git
a/hudi-client/hudi-java-client/src/test/java/org/apache/hudi/client/TestJavaHoodieBackedMetadata.java
b/hudi-client/hudi-java-client/src/test/java/org/apache/hudi/client/TestJavaHoodieBackedMetadata.java
index feda056472dc..52b5563ac93e 100644
---
a/hudi-client/hudi-java-client/src/test/java/org/apache/hudi/client/TestJavaHoodieBackedMetadata.java
+++
b/hudi-client/hudi-java-client/src/test/java/org/apache/hudi/client/TestJavaHoodieBackedMetadata.java
@@ -1840,7 +1840,7 @@ public class TestJavaHoodieBackedMetadata extends
TestHoodieMetadataBase {
// Ensure all commits were synced to the Metadata Table
HoodieTableMetaClient metadataMetaClient =
createMetaClientForMetadataTable();
- log.warn("total commits in metadata table " +
metadataMetaClient.getActiveTimeline().getCommitsTimeline().countInstants());
+ log.warn("total commits in metadata table {}",
metadataMetaClient.getActiveTimeline().getCommitsTimeline().countInstants());
// 6 commits and 2 cleaner commits.
assertEquals(metadataMetaClient.getActiveTimeline().getDeltaCommitTimeline().filterCompletedInstants().countInstants(),
8);
@@ -2832,17 +2832,17 @@ public class TestJavaHoodieBackedMetadata extends
TestHoodieMetadataBase {
if ((fsFileNames.size() != metadataFilenames.size())
|| (!fsFileNames.equals(metadataFilenames))) {
- log.info("*** File system listing = " +
Arrays.toString(fsFileNames.toArray()));
- log.info("*** Metadata listing = " +
Arrays.toString(metadataFilenames.toArray()));
+ log.info("*** File system listing = {}",
Arrays.toString(fsFileNames.toArray()));
+ log.info("*** Metadata listing = {}",
Arrays.toString(metadataFilenames.toArray()));
for (String fileName : fsFileNames) {
if (!metadataFilenames.contains(fileName)) {
- log.error(partition + "FsFilename " + fileName + " not found in
Meta data");
+ log.error("{}FsFilename {} not found in Meta data", partition,
fileName);
}
}
for (String fileName : metadataFilenames) {
if (!fsFileNames.contains(fileName)) {
- log.error(partition + "Metadata file " + fileName + " not found
in original FS");
+ log.error("{}Metadata file {} not found in original FS",
partition, fileName);
}
}
}
@@ -2922,7 +2922,7 @@ public class TestJavaHoodieBackedMetadata extends
TestHoodieMetadataBase {
});
// TODO: include validation for record_index partition here.
- log.info("Validation time=" + timer.endTimer());
+ log.info("Validation time={}", timer.endTimer());
}
}
diff --git
a/hudi-client/hudi-java-client/src/test/java/org/apache/hudi/table/action/commit/TestJavaCopyOnWriteActionExecutor.java
b/hudi-client/hudi-java-client/src/test/java/org/apache/hudi/table/action/commit/TestJavaCopyOnWriteActionExecutor.java
index 8fc8b480a3f0..a0998cbdd031 100644
---
a/hudi-client/hudi-java-client/src/test/java/org/apache/hudi/table/action/commit/TestJavaCopyOnWriteActionExecutor.java
+++
b/hudi-client/hudi-java-client/src/test/java/org/apache/hudi/table/action/commit/TestJavaCopyOnWriteActionExecutor.java
@@ -366,7 +366,7 @@ public class TestJavaCopyOnWriteActionExecutor extends
HoodieJavaClientTestHarne
int counts = 0;
for (File file : Paths.get(basePath, "2016/01/31").toFile().listFiles()) {
if (file.getName().endsWith(table.getBaseFileExtension()) &&
FSUtils.getCommitTime(file.getName()).equals(instantTime)) {
- log.info(file.getName() + "-" + file.length());
+ log.info("{}-{}", file.getName(), file.length());
counts++;
}
}
diff --git
a/hudi-client/hudi-java-client/src/test/java/org/apache/hudi/testutils/HoodieJavaClientTestHarness.java
b/hudi-client/hudi-java-client/src/test/java/org/apache/hudi/testutils/HoodieJavaClientTestHarness.java
index 353be1549081..5d5d15e19d9e 100644
---
a/hudi-client/hudi-java-client/src/test/java/org/apache/hudi/testutils/HoodieJavaClientTestHarness.java
+++
b/hudi-client/hudi-java-client/src/test/java/org/apache/hudi/testutils/HoodieJavaClientTestHarness.java
@@ -353,7 +353,7 @@ public abstract class HoodieJavaClientTestHarness extends
HoodieWriterClientTest
runFullValidation(writeConfig, metadataTableBasePath, engineContext);
}
- log.info("Validation time=" + timer.endTimer());
+ log.info("Validation time={}", timer.endTimer());
}
protected void validateFilesPerPartition(HoodieTestTable testTable,
diff --git
a/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/SparkBinaryCopyClusteringExecutionStrategy.java
b/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/SparkBinaryCopyClusteringExecutionStrategy.java
index f68579e580d7..efabfeaf5d4e 100644
---
a/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/SparkBinaryCopyClusteringExecutionStrategy.java
+++
b/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/SparkBinaryCopyClusteringExecutionStrategy.java
@@ -95,7 +95,7 @@ public class SparkBinaryCopyClusteringExecutionStrategy<T>
extends SparkSortAndS
JavaSparkContext engineContext =
HoodieSparkEngineContext.getSparkContext(getEngineContext());
TaskContextSupplier taskContextSupplier =
getEngineContext().getTaskContextSupplier();
JavaRDD<ClusteringGroupInfo> groupInfoJavaRDD =
engineContext.parallelize(clusteringGroupInfos, clusteringGroupInfos.size());
- log.info("number of partitions for clustering " +
groupInfoJavaRDD.getNumPartitions());
+ log.info("number of partitions for clustering {}",
groupInfoJavaRDD.getNumPartitions());
JavaRDD<WriteStatus> writeStatusRDD = groupInfoJavaRDD
.mapPartitions(clusteringOps -> {
Iterable<ClusteringGroupInfo> clusteringOpsIterable = () ->
clusteringOps;
diff --git
a/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/SparkExternalFileClusteringExecutionStrategy.java
b/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/SparkExternalFileClusteringExecutionStrategy.java
index be5c8aaa01ef..0abcec9c9bee 100644
---
a/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/SparkExternalFileClusteringExecutionStrategy.java
+++
b/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/SparkExternalFileClusteringExecutionStrategy.java
@@ -87,7 +87,7 @@ public abstract class
SparkExternalFileClusteringExecutionStrategy<T extends Hoo
try {
getHoodieTable().getStorage().deleteFile(writeHandler.getPath());
} catch (Exception deleteEx) {
- LOG.warn("Failed to clean up partial output file: " +
writeHandler.getPath(), deleteEx);
+ LOG.warn("Failed to clean up partial output file: {}",
writeHandler.getPath(), deleteEx);
}
throw new HoodieClusteringException("Failed to transform file: " +
dataFilePathStr, e);
}
diff --git
a/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/validator/SparkPreCommitValidator.java
b/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/validator/SparkPreCommitValidator.java
index b06e80bf6392..de3ffbf6ae63 100644
---
a/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/validator/SparkPreCommitValidator.java
+++
b/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/validator/SparkPreCommitValidator.java
@@ -96,7 +96,7 @@ public abstract class SparkPreCommitValidator<T, I, K, O
extends HoodieData<Writ
throw new RuntimeException(e);
} finally {
long duration = timer.endTimer();
- log.info(getClass() + " validator took " + duration + " ms" + ", metrics
on? " + getWriteConfig().isMetricsOn());
+ log.info("{} validator took {} ms, metrics on? {}", getClass(),
duration, getWriteConfig().isMetricsOn());
publishRunStats(instantTime, duration);
}
}
diff --git
a/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/validator/SqlQueryEqualityPreCommitValidator.java
b/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/validator/SqlQueryEqualityPreCommitValidator.java
index 9959baad30a2..d5884aaabada 100644
---
a/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/validator/SqlQueryEqualityPreCommitValidator.java
+++
b/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/validator/SqlQueryEqualityPreCommitValidator.java
@@ -57,16 +57,16 @@ public class SqlQueryEqualityPreCommitValidator<T, I, K, O
extends HoodieData<Wr
try {
prevRows = executeSqlQuery(
sqlContext, query, prevTableSnapshot, "previous state").cache();
- log.info("Total rows in prevRows " + prevRows.count());
+ log.info("Total rows in prevRows {}", prevRows.count());
newRows = executeSqlQuery(
sqlContext, query, newTableSnapshot, "new state").cache();
- log.info("Total rows in newRows " + newRows.count());
+ log.info("Total rows in newRows {}", newRows.count());
printAllRowsIfDebugEnabled(prevRows);
printAllRowsIfDebugEnabled(newRows);
boolean areDatasetsEqual = prevRows.intersect(newRows).count() ==
prevRows.count();
- log.info("Completed Equality Validation, datasets equal? " +
areDatasetsEqual);
+ log.info("Completed Equality Validation, datasets equal? {}",
areDatasetsEqual);
if (!areDatasetsEqual) {
- log.error("query validation failed. See stdout for sample query
results. Query: " + query);
+ log.error("query validation failed. See stdout for sample query
results. Query: {}", query);
System.out.println("Expected result (sample records only):");
prevRows.show();
System.out.println("Actual result (sample records only):");
diff --git
a/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/validator/SqlQueryInequalityPreCommitValidator.java
b/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/validator/SqlQueryInequalityPreCommitValidator.java
index f0aae541d3d3..0b22b540a79b 100644
---
a/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/validator/SqlQueryInequalityPreCommitValidator.java
+++
b/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/validator/SqlQueryInequalityPreCommitValidator.java
@@ -54,16 +54,16 @@ public class SqlQueryInequalityPreCommitValidator<T, I, K,
O extends HoodieData<
protected void validateUsingQuery(String query, String prevTableSnapshot,
String newTableSnapshot, SQLContext sqlContext) {
Dataset<Row> prevRows = executeSqlQuery(
sqlContext, query, prevTableSnapshot, "previous state").cache();
- log.info("Total rows in prevRows " + prevRows.count());
+ log.info("Total rows in prevRows {}", prevRows.count());
Dataset<Row> newRows = executeSqlQuery(
sqlContext, query, newTableSnapshot, "new state").cache();
- log.info("Total rows in newRows " + newRows.count());
+ log.info("Total rows in newRows {}", newRows.count());
printAllRowsIfDebugEnabled(prevRows);
printAllRowsIfDebugEnabled(newRows);
boolean areDatasetsEqual = prevRows.intersect(newRows).count() ==
prevRows.count();
- log.info("Completed Inequality Validation, datasets equal? " +
areDatasetsEqual);
+ log.info("Completed Inequality Validation, datasets equal? {}",
areDatasetsEqual);
if (areDatasetsEqual) {
- log.error("query validation failed. See stdout for sample query results.
Query: " + query);
+ log.error("query validation failed. See stdout for sample query results.
Query: {}", query);
System.out.println("Expected query results to be different, but they are
same. Result (sample records only):");
prevRows.show();
throw new HoodieValidationException("Query validation failed for '" +
query
diff --git
a/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/validator/SqlQuerySingleResultPreCommitValidator.java
b/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/validator/SqlQuerySingleResultPreCommitValidator.java
index 47f961b88b94..ef5278f02d3d 100644
---
a/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/validator/SqlQuerySingleResultPreCommitValidator.java
+++
b/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/validator/SqlQuerySingleResultPreCommitValidator.java
@@ -66,11 +66,11 @@ public class SqlQuerySingleResultPreCommitValidator<T, I,
K, O extends HoodieDat
}
Object result = newRows.get(0).apply(0);
if (result == null || !expectedResult.equals(result.toString())) {
- log.error("Mismatch query result. Expected: " + expectedResult + " got "
+ result + " on Query: " + query);
+ log.error("Mismatch query result. Expected: {} got {} on Query: {}",
expectedResult, result, query);
throw new HoodieValidationException("Query validation failed for '" +
query
+ "'. Expected " + expectedResult + " row(s), Found " + result);
} else {
- log.info("Query validation successful. Expected: " + expectedResult + "
got " + result);
+ log.info("Query validation successful. Expected: {} got {}",
expectedResult, result);
}
}
}
diff --git
a/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/io/storage/row/HoodieRowCreateHandle.java
b/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/io/storage/row/HoodieRowCreateHandle.java
index 0222506f56fa..c6d20eefb582 100644
---
a/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/io/storage/row/HoodieRowCreateHandle.java
+++
b/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/io/storage/row/HoodieRowCreateHandle.java
@@ -194,7 +194,7 @@ public class HoodieRowCreateHandle implements Serializable {
? HoodieRecordDelegate.create(recordKey.toString(),
partitionPath.toString(), null, newRecordLocation) : null;
writeStatus.markSuccess(recordDelegate, Option.empty());
} catch (Exception t) {
- log.error("Error writing record " + row, t);
+ log.error("Error writing record {}", row, t);
if (!writeConfig.getIgnoreWriteFailed()) {
throw new HoodieException(t.getMessage(), t);
}
diff --git
a/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/bootstrap/BaseBootstrapMetadataHandler.java
b/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/bootstrap/BaseBootstrapMetadataHandler.java
index c0babd724873..6e24f34fa1c8 100644
---
a/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/bootstrap/BaseBootstrapMetadataHandler.java
+++
b/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/bootstrap/BaseBootstrapMetadataHandler.java
@@ -65,7 +65,7 @@ public abstract class BaseBootstrapMetadataHandler implements
BootstrapMetadataH
.collect(Collectors.toList());
HoodieSchema recordKeySchema =
HoodieSchemaUtils.generateProjectionSchema(schema, recordKeyColumns);
- LOG.info("Schema to be used for reading record keys: " +
recordKeySchema);
+ LOG.info("Schema to be used for reading record keys: {}",
recordKeySchema);
executeBootstrap(bootstrapHandle, sourceFilePath, keyGenerator,
partitionPath, recordKeySchema);
} catch (Exception e) {
diff --git
a/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/bootstrap/SparkBootstrapCommitActionExecutor.java
b/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/bootstrap/SparkBootstrapCommitActionExecutor.java
index f611e71d43f3..eb61b2699b37 100644
---
a/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/bootstrap/SparkBootstrapCommitActionExecutor.java
+++
b/hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/bootstrap/SparkBootstrapCommitActionExecutor.java
@@ -204,14 +204,12 @@ public class SparkBootstrapCommitActionExecutor<T>
HoodieTableMetaClient metaClient = table.getMetaClient();
try (BootstrapIndex.IndexWriter indexWriter =
BootstrapIndex.getBootstrapIndex(metaClient)
.createWriter(metaClient.getTableConfig().getBootstrapBasePath().get())) {
- log.info("Starting to write bootstrap index for source " +
config.getBootstrapSourceBasePath() + " in table "
- + config.getBasePath());
+ log.info("Starting to write bootstrap index for source {} in table {}",
config.getBootstrapSourceBasePath(), config.getBasePath());
indexWriter.begin();
bootstrapSourceAndStats.forEach((key, value) ->
indexWriter.appendNextPartition(key,
value.stream().map(Pair::getKey).collect(Collectors.toList())));
indexWriter.finish();
- log.info("Finished writing bootstrap index for source " +
config.getBootstrapSourceBasePath() + " in table "
- + config.getBasePath());
+ log.info("Finished writing bootstrap index for source {} in table {}",
config.getBootstrapSourceBasePath(), config.getBasePath());
}
commit(result, bootstrapSourceAndStats.values().stream()
.flatMap(f ->
f.stream().map(Pair::getValue)).collect(Collectors.toList()));
@@ -278,7 +276,7 @@ public class SparkBootstrapCommitActionExecutor<T>
log.info("Fetching Bootstrap Schema !!");
HoodieBootstrapSchemaProvider sourceSchemaProvider = new
HoodieSparkBootstrapSchemaProvider(config);
bootstrapSchema = sourceSchemaProvider.getBootstrapSchema(context,
folders).toString();
- log.info("Bootstrap Schema :" + bootstrapSchema);
+ log.info("Bootstrap Schema :{}", bootstrapSchema);
BootstrapModeSelector selector =
(BootstrapModeSelector)
ReflectionUtils.loadClass(config.getBootstrapModeSelectorClass(), config);
diff --git
a/hudi-client/hudi-spark-client/src/test/java/org/apache/hudi/client/common/TestHoodieSparkEngineDynamicRepartition.java
b/hudi-client/hudi-spark-client/src/test/java/org/apache/hudi/client/common/TestHoodieSparkEngineDynamicRepartition.java
index 217b2c4dd6a5..86bd48f20ac4 100644
---
a/hudi-client/hudi-spark-client/src/test/java/org/apache/hudi/client/common/TestHoodieSparkEngineDynamicRepartition.java
+++
b/hudi-client/hudi-spark-client/src/test/java/org/apache/hudi/client/common/TestHoodieSparkEngineDynamicRepartition.java
@@ -210,7 +210,7 @@ public class TestHoodieSparkEngineDynamicRepartition {
} catch (AssertionError e) {
logRDDContent("Original RDD", originalRdd);
logRDDContent("Repartitioned RDD", repartitionedRdd);
- LOG.error("Validation failed: " + e.getMessage(), e);
+ LOG.error("Validation failed: {}", e.getMessage(), e);
throw e; // rethrow to fail the test
}
}
diff --git
a/hudi-client/hudi-spark-client/src/test/java/org/apache/hudi/io/TestHoodieTimelineArchiver.java
b/hudi-client/hudi-spark-client/src/test/java/org/apache/hudi/io/TestHoodieTimelineArchiver.java
index e514e99f941f..d0240d9d3a82 100644
---
a/hudi-client/hudi-spark-client/src/test/java/org/apache/hudi/io/TestHoodieTimelineArchiver.java
+++
b/hudi-client/hudi-spark-client/src/test/java/org/apache/hudi/io/TestHoodieTimelineArchiver.java
@@ -940,7 +940,7 @@ public class TestHoodieTimelineArchiver extends
HoodieSparkClientTestHarness {
int finalCounter = counter;
curFuture.exceptionally(ex -> {
if (!jobFailed.getAndSet(true)) {
- log.warn("One of the job failed. Cancelling all other futures. " +
ex.getCause() + ", " + ex.getMessage());
+ log.warn("One of the job failed. Cancelling all other futures. {},
{}", ex.getCause(), ex.getMessage());
int secondCounter = 0;
while (secondCounter < futures.size()) {
if (secondCounter != finalCounter) {
diff --git
a/hudi-client/hudi-spark-client/src/test/java/org/apache/hudi/table/marker/TestTimelineServerBasedWriteMarkers.java
b/hudi-client/hudi-spark-client/src/test/java/org/apache/hudi/table/marker/TestTimelineServerBasedWriteMarkers.java
index 98e3744cc031..82a8254569b6 100644
---
a/hudi-client/hudi-spark-client/src/test/java/org/apache/hudi/table/marker/TestTimelineServerBasedWriteMarkers.java
+++
b/hudi-client/hudi-spark-client/src/test/java/org/apache/hudi/table/marker/TestTimelineServerBasedWriteMarkers.java
@@ -74,7 +74,7 @@ public class TestTimelineServerBasedWriteMarkers extends
TestWriteMarkersBase {
this.markerFolderPath = new
StoragePath(metaClient.getMarkerFolderPath("000"));
restartServerAndClient(0);
- log.info("Connecting to Timeline Server :" +
timelineService.getServerPort());
+ log.info("Connecting to Timeline Server :{}",
timelineService.getServerPort());
}
@AfterEach
@@ -108,7 +108,7 @@ public class TestTimelineServerBasedWriteMarkers extends
TestWriteMarkersBase {
@EnumSource(value = FileSystemViewStorageType.class)
public void testCreationWithTimelineServiceRetries(FileSystemViewStorageType
storageType) throws Exception {
restartServerAndClient(0, storageType);
- log.info("Connecting to Timeline Server :" +
timelineService.getServerPort());
+ log.info("Connecting to Timeline Server :{}",
timelineService.getServerPort());
// Validate marker creation/ deletion work without any failures in the
timeline service.
createSomeMarkers(true);
assertTrue(storage.exists(markerFolderPath));