You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hudi.apache.org by yi...@apache.org on 2025/12/16 01:25:31 UTC
(hudi) branch master updated: refactor: Add Lombok annotations to hudi-java-client module (#17588)
This is an automated email from the ASF dual-hosted git repository.
yihua 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 175fb79a6bc0 refactor: Add Lombok annotations to hudi-java-client module (#17588)
175fb79a6bc0 is described below
commit 175fb79a6bc0b62f383bb9d4d19066cca73d36be
Author: voonhous <vo...@gmail.com>
AuthorDate: Tue Dec 16 09:25:24 2025 +0800
refactor: Add Lombok annotations to hudi-java-client module (#17588)
---
hudi-client/hudi-java-client/pom.xml | 6 +++++
.../JavaSizeBasedClusteringPlanStrategy.java | 5 ++--
.../run/strategy/JavaExecutionStrategy.java | 8 +++----
.../strategy/JavaSortAndSizeExecutionStrategy.java | 7 +++---
.../hudi/table/HoodieJavaCopyOnWriteTable.java | 6 ++---
.../commit/BaseJavaCommitActionExecutor.java | 16 ++++++-------
.../table/action/commit/JavaUpsertPartitioner.java | 22 ++++++++----------
.../BaseJavaDeltaCommitActionExecutor.java | 9 ++++----
.../JavaUpsertDeltaCommitActionExecutor.java | 6 ++---
...JavaUpsertPreppedDeltaCommitActionExecutor.java | 8 +++----
.../table/upgrade/JavaUpgradeDowngradeHelper.java | 7 +++---
.../hudi/client/TestJavaHoodieBackedMetadata.java | 27 ++++++++++------------
.../commit/TestJavaCopyOnWriteActionExecutor.java | 8 +++----
.../testutils/HoodieJavaClientTestHarness.java | 18 +++++++--------
14 files changed, 69 insertions(+), 84 deletions(-)
diff --git a/hudi-client/hudi-java-client/pom.xml b/hudi-client/hudi-java-client/pom.xml
index 53c37cbb62bd..3910bb691216 100644
--- a/hudi-client/hudi-java-client/pom.xml
+++ b/hudi-client/hudi-java-client/pom.xml
@@ -54,6 +54,12 @@
<artifactId>kryo-shaded</artifactId>
</dependency>
+ <!-- Lombok -->
+ <dependency>
+ <groupId>org.projectlombok</groupId>
+ <artifactId>lombok</artifactId>
+ </dependency>
+
<!-- Parquet -->
<dependency>
<groupId>org.apache.parquet</groupId>
diff --git a/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/clustering/plan/strategy/JavaSizeBasedClusteringPlanStrategy.java b/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/clustering/plan/strategy/JavaSizeBasedClusteringPlanStrategy.java
index e0309e50e75f..6377f7022ed0 100644
--- a/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/clustering/plan/strategy/JavaSizeBasedClusteringPlanStrategy.java
+++ b/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/clustering/plan/strategy/JavaSizeBasedClusteringPlanStrategy.java
@@ -32,8 +32,7 @@ import org.apache.hudi.config.HoodieWriteConfig;
import org.apache.hudi.table.HoodieTable;
import org.apache.hudi.table.action.cluster.strategy.PartitionAwareClusteringPlanStrategy;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import lombok.extern.slf4j.Slf4j;
import java.util.HashMap;
import java.util.List;
@@ -47,9 +46,9 @@ import static org.apache.hudi.config.HoodieClusteringConfig.PLAN_STRATEGY_SORT_C
* 1) Creates clustering groups based on max size allowed per group.
* 2) Excludes files that are greater than 'small.file.limit' from clustering plan.
*/
+@Slf4j
public class JavaSizeBasedClusteringPlanStrategy<T>
extends PartitionAwareClusteringPlanStrategy<T, List<HoodieRecord<T>>, List<HoodieKey>, List<WriteStatus>> {
- private static final Logger LOG = LoggerFactory.getLogger(JavaSizeBasedClusteringPlanStrategy.class);
public JavaSizeBasedClusteringPlanStrategy(HoodieTable table,
HoodieEngineContext engineContext,
diff --git a/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/JavaExecutionStrategy.java b/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/JavaExecutionStrategy.java
index bd6c3f298ff0..c8b2b76a5952 100644
--- a/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/JavaExecutionStrategy.java
+++ b/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/JavaExecutionStrategy.java
@@ -43,9 +43,8 @@ import org.apache.hudi.table.HoodieTable;
import org.apache.hudi.table.action.HoodieWriteMetadata;
import org.apache.hudi.table.action.cluster.strategy.ClusteringExecutionStrategy;
+import lombok.extern.slf4j.Slf4j;
import org.apache.avro.Schema;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import java.util.ArrayList;
import java.util.List;
@@ -58,11 +57,10 @@ import static org.apache.hudi.config.HoodieClusteringConfig.PLAN_STRATEGY_SORT_C
/**
* Clustering strategy for Java engine.
*/
+@Slf4j
public abstract class JavaExecutionStrategy<T>
extends ClusteringExecutionStrategy<T, HoodieData<HoodieRecord<T>>, HoodieData<HoodieKey>, HoodieData<WriteStatus>> {
- private static final Logger LOG = LoggerFactory.getLogger(JavaExecutionStrategy.class);
-
public JavaExecutionStrategy(
HoodieTable table, HoodieEngineContext engineContext, HoodieWriteConfig writeConfig) {
super(table, engineContext, writeConfig);
@@ -142,7 +140,7 @@ public abstract class JavaExecutionStrategy<T>
HoodieWriteConfig config = getWriteConfig();
List<HoodieRecord<T>> records = new ArrayList<>();
long maxMemoryPerCompaction = IOUtils.getMaxMemoryPerCompaction(new JavaTaskContextSupplier(), config);
- LOG.info("MaxMemoryPerCompaction run as part of clustering => {}", maxMemoryPerCompaction);
+ log.info("MaxMemoryPerCompaction run as part of clustering => {}", maxMemoryPerCompaction);
List<Supplier<ClosableIterator<HoodieRecord<T>>>> suppliers = new ArrayList<>(clusteringOps.size());
clusteringOps.forEach(op -> suppliers.add(() -> getRecordIterator(getEngineContext().getReaderContextFactory(getHoodieTable().getMetaClient()), op, instantTime, maxMemoryPerCompaction)));
diff --git a/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/JavaSortAndSizeExecutionStrategy.java b/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/JavaSortAndSizeExecutionStrategy.java
index fb336822dd49..ffc815fd48f2 100644
--- a/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/JavaSortAndSizeExecutionStrategy.java
+++ b/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/JavaSortAndSizeExecutionStrategy.java
@@ -30,9 +30,8 @@ import org.apache.hudi.io.CreateHandleFactory;
import org.apache.hudi.table.HoodieTable;
import org.apache.hudi.table.action.commit.JavaBulkInsertHelper;
+import lombok.extern.slf4j.Slf4j;
import org.apache.avro.Schema;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import java.util.List;
import java.util.Map;
@@ -42,9 +41,9 @@ import java.util.Map;
* 1) Java execution engine.
* 2) Uses bulk_insert to write data into new files.
*/
+@Slf4j
public class JavaSortAndSizeExecutionStrategy<T>
extends JavaExecutionStrategy<T> {
- private static final Logger LOG = LoggerFactory.getLogger(JavaSortAndSizeExecutionStrategy.class);
public JavaSortAndSizeExecutionStrategy(HoodieTable table,
HoodieEngineContext engineContext,
@@ -57,7 +56,7 @@ public class JavaSortAndSizeExecutionStrategy<T>
final List<HoodieRecord<T>> inputRecords, final int numOutputGroups,
final String instantTime, final Map<String, String> strategyParams, final Schema schema,
final List<HoodieFileGroupId> fileGroupIdList, final boolean preserveHoodieMetadata) {
- LOG.info("Starting clustering for a group, parallelism:" + numOutputGroups + " commit:" + instantTime);
+ log.info("Starting clustering for a group, parallelism: {} commit: {}", numOutputGroups, instantTime);
HoodieWriteConfig newConfig = HoodieWriteConfig.newBuilder()
.withBulkInsertParallelism(numOutputGroups)
diff --git a/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/HoodieJavaCopyOnWriteTable.java b/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/HoodieJavaCopyOnWriteTable.java
index 873d0f55d338..bdac5434a059 100644
--- a/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/HoodieJavaCopyOnWriteTable.java
+++ b/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/HoodieJavaCopyOnWriteTable.java
@@ -72,8 +72,7 @@ import org.apache.hudi.table.action.rollback.CopyOnWriteRollbackActionExecutor;
import org.apache.hudi.table.action.rollback.RestorePlanActionExecutor;
import org.apache.hudi.table.action.savepoint.SavepointActionExecutor;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import lombok.extern.slf4j.Slf4j;
import java.io.IOException;
import java.util.Collections;
@@ -81,11 +80,10 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
+@Slf4j
public class HoodieJavaCopyOnWriteTable<T>
extends HoodieJavaTable<T> implements HoodieCompactionHandler<T> {
- private static final Logger LOG = LoggerFactory.getLogger(HoodieJavaCopyOnWriteTable.class);
-
protected HoodieJavaCopyOnWriteTable(HoodieWriteConfig config,
HoodieEngineContext context,
HoodieTableMetaClient metaClient) {
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 092daf2cead2..43e5dd260561 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
@@ -48,8 +48,7 @@ import org.apache.hudi.table.WorkloadProfile;
import org.apache.hudi.table.WorkloadStat;
import org.apache.hudi.table.action.HoodieWriteMetadata;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import lombok.extern.slf4j.Slf4j;
import java.io.IOException;
import java.time.Duration;
@@ -63,11 +62,10 @@ import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
+@Slf4j
public abstract class BaseJavaCommitActionExecutor<T> extends
BaseCommitActionExecutor<T, List<HoodieRecord<T>>, List<HoodieKey>, List<WriteStatus>, HoodieWriteMetadata> {
- private static final Logger LOG = LoggerFactory.getLogger(BaseJavaCommitActionExecutor.class);
-
protected BaseJavaCommitActionExecutor(HoodieEngineContext context,
HoodieWriteConfig config,
HoodieTable table,
@@ -96,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);
@@ -109,7 +107,7 @@ public abstract class BaseJavaCommitActionExecutor<T> extends
throw new HoodieCommitException("Failed to commit " + instantTime + " unable to save inflight metadata ", e);
}
} catch (IOException ex) {
- LOG.error("Check file exists failed");
+ log.error("Check file exists failed");
throw new HoodieCommitException("Failed to commit " + instantTime + " unable to save inflight metadata ", ex);
}
}
@@ -222,7 +220,7 @@ public abstract class BaseJavaCommitActionExecutor<T> extends
}
} catch (Throwable t) {
String msg = "Error upserting bucketType " + btype + " for partition :" + partition;
- LOG.error(msg, t);
+ log.error(msg, t);
throw new HoodieUpsertException(msg, t);
}
}
@@ -238,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
@@ -264,7 +262,7 @@ public abstract class BaseJavaCommitActionExecutor<T> extends
public Iterator<List<WriteStatus>> handleInsert(String idPfx, Iterator<HoodieRecord<T>> recordItr) {
// 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");
+ log.info("Empty partition");
return Collections.singletonList((List<WriteStatus>) Collections.EMPTY_LIST).iterator();
}
return new JavaLazyInsertIterable<>(recordItr, true, config, instantTime, table, idPfx,
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 4d3c78676dca..15010d21a0d6 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
@@ -36,8 +36,7 @@ import org.apache.hudi.table.HoodieTable;
import org.apache.hudi.table.WorkloadProfile;
import org.apache.hudi.table.WorkloadStat;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import lombok.extern.slf4j.Slf4j;
import java.util.ArrayList;
import java.util.Collections;
@@ -51,10 +50,9 @@ import java.util.stream.Collectors;
/**
* Packs incoming records to be upserted, into buckets.
*/
+@Slf4j
public class JavaUpsertPartitioner<T> implements Partitioner {
- private static final Logger LOG = LoggerFactory.getLogger(JavaUpsertPartitioner.class);
-
/**
* List of all small files to be corrected.
*/
@@ -95,7 +93,7 @@ public class JavaUpsertPartitioner<T> implements Partitioner {
assignUpdates(workloadProfile);
assignInserts(workloadProfile, context);
- LOG.info("Total Buckets :" + totalBuckets + ", buckets info => " + bucketInfoMap + ", \n"
+ log.info("Total Buckets :" + totalBuckets + ", buckets info => " + bucketInfoMap + ", \n"
+ "Partition to insert buckets => " + partitionPathToInsertBucketInfos + ", \n"
+ "UpdateLocations mapped to buckets =>" + updateLocationToBucket);
}
@@ -134,7 +132,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);
@@ -147,7 +145,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 : " + partitionPath + " Small Files => " + smallFiles);
long totalUnassignedInserts = pStat.getNumInserts();
List<Integer> bucketNumbers = new ArrayList<>();
@@ -162,10 +160,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 " + recordsToAppend + " inserts to existing update bucket " + bucket);
} else {
bucket = addUpdateBucket(partitionPath, smallFile.location.getFileId());
- LOG.info("Assigning " + recordsToAppend + " inserts to new update bucket " + bucket);
+ log.info("Assigning " + recordsToAppend + " inserts to new update bucket " + bucket);
}
if (profile.hasOutputWorkLoadStats()) {
outputWorkloadStats.addInserts(smallFile.location, recordsToAppend);
@@ -184,7 +182,7 @@ public class JavaUpsertPartitioner<T> implements Partitioner {
}
int insertBuckets = (int) Math.ceil((1.0 * totalUnassignedInserts) / insertRecordsPerBucket);
- LOG.info("After small file assignment: unassignedInserts => " + totalUnassignedInserts
+ log.info("After small file assignment: unassignedInserts => " + totalUnassignedInserts
+ ", totalInsertBuckets => " + insertBuckets + ", recordsPerBucket => " + insertRecordsPerBucket);
for (int b = 0; b < insertBuckets; b++) {
bucketNumbers.add(totalBuckets);
@@ -212,7 +210,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()) {
@@ -331,7 +329,7 @@ public class JavaUpsertPartitioner<T> implements Partitioner {
}
} catch (Throwable t) {
// make this fail safe.
- LOG.error("Error trying to compute average bytes/record ", t);
+ log.error("Error trying to compute average bytes/record ", t);
}
return avgSize;
}
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 f144c1576eb9..42be024f167d 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
@@ -34,8 +34,7 @@ import org.apache.hudi.table.action.commit.BaseJavaCommitActionExecutor;
import org.apache.hudi.table.action.commit.JavaUpsertPartitioner;
import org.apache.hudi.table.action.commit.Partitioner;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import lombok.extern.slf4j.Slf4j;
import java.io.IOException;
import java.util.Collections;
@@ -43,8 +42,8 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
+@Slf4j
abstract class BaseJavaDeltaCommitActionExecutor<T> extends BaseJavaCommitActionExecutor<T> {
- private static final Logger LOG = LoggerFactory.getLogger(BaseJavaDeltaCommitActionExecutor.class);
protected BaseJavaDeltaCommitActionExecutor(HoodieEngineContext context, HoodieWriteConfig config, HoodieTable table,
String instantTime, WriteOperationType operationType) {
@@ -70,10 +69,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 " + instantTime + " for file " + 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 " + instantTime + " for file " + fileId);
return super.handleUpdate(partitionPath, fileId, recordItr);
} else {
HoodieAppendHandle<?, ?, ?, ?> appendHandle = new HoodieAppendHandle<>(config, instantTime, table,
diff --git a/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/deltacommit/JavaUpsertDeltaCommitActionExecutor.java b/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/deltacommit/JavaUpsertDeltaCommitActionExecutor.java
index 405e5e28366a..9e20e4e7d632 100644
--- a/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/deltacommit/JavaUpsertDeltaCommitActionExecutor.java
+++ b/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/deltacommit/JavaUpsertDeltaCommitActionExecutor.java
@@ -28,15 +28,13 @@ import org.apache.hudi.table.HoodieTable;
import org.apache.hudi.table.action.HoodieWriteMetadata;
import org.apache.hudi.table.action.commit.JavaWriteHelper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import lombok.extern.slf4j.Slf4j;
import java.util.List;
+@Slf4j
public class JavaUpsertDeltaCommitActionExecutor<T> extends BaseJavaDeltaCommitActionExecutor<T> {
- private static final Logger LOG = LoggerFactory.getLogger(JavaUpsertDeltaCommitActionExecutor.class);
-
private final List<HoodieRecord<T>> inputRecords;
public JavaUpsertDeltaCommitActionExecutor(HoodieJavaEngineContext context, HoodieWriteConfig config, HoodieTable table,
diff --git a/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/deltacommit/JavaUpsertPreppedDeltaCommitActionExecutor.java b/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/deltacommit/JavaUpsertPreppedDeltaCommitActionExecutor.java
index 0005aee2aebf..812a0002bb20 100644
--- a/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/deltacommit/JavaUpsertPreppedDeltaCommitActionExecutor.java
+++ b/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/deltacommit/JavaUpsertPreppedDeltaCommitActionExecutor.java
@@ -32,18 +32,16 @@ import org.apache.hudi.table.HoodieTable;
import org.apache.hudi.table.action.HoodieWriteMetadata;
import org.apache.hudi.table.action.commit.JavaBulkInsertHelper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import lombok.extern.slf4j.Slf4j;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
+@Slf4j
public class JavaUpsertPreppedDeltaCommitActionExecutor<T> extends BaseJavaDeltaCommitActionExecutor<T> {
- private static final Logger LOG = LoggerFactory.getLogger(JavaUpsertPreppedDeltaCommitActionExecutor.class);
-
private final List<HoodieRecord<T>> preppedInputRecords;
public JavaUpsertPreppedDeltaCommitActionExecutor(HoodieJavaEngineContext context, HoodieWriteConfig config, HoodieTable table,
@@ -71,7 +69,7 @@ public class JavaUpsertPreppedDeltaCommitActionExecutor<T> extends BaseJavaDelta
recordsByFileId.get(fileIdPartitionPath).add(record);
}
}
- LOG.info(String.format("Total update fileIDs %s, total inserts %s for commit %s",
+ log.info(String.format("Total update fileIDs %s, total inserts %s for commit %s",
recordsByFileId.size(), insertedRecords.size(), instantTime));
List<WriteStatus> allWriteStatuses = new ArrayList<>();
diff --git a/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/upgrade/JavaUpgradeDowngradeHelper.java b/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/upgrade/JavaUpgradeDowngradeHelper.java
index cf80fe29b441..ab1d059b470d 100644
--- a/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/upgrade/JavaUpgradeDowngradeHelper.java
+++ b/hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/upgrade/JavaUpgradeDowngradeHelper.java
@@ -27,17 +27,18 @@ import org.apache.hudi.keygen.constant.KeyGeneratorOptions;
import org.apache.hudi.table.HoodieJavaTable;
import org.apache.hudi.table.HoodieTable;
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
+
/**
* Java upgrade and downgrade helper
*/
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class JavaUpgradeDowngradeHelper implements SupportsUpgradeDowngrade {
private static final JavaUpgradeDowngradeHelper SINGLETON_INSTANCE =
new JavaUpgradeDowngradeHelper();
- private JavaUpgradeDowngradeHelper() {
- }
-
public static JavaUpgradeDowngradeHelper getInstance() {
return SINGLETON_INSTANCE;
}
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 bc3a6867dbe3..44bb6d2f89ad 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
@@ -108,6 +108,7 @@ import org.apache.hudi.table.action.HoodieWriteMetadata;
import org.apache.hudi.testutils.MetadataMergeWriteStatus;
import org.apache.hudi.testutils.TestHoodieMetadataBase;
+import lombok.extern.slf4j.Slf4j;
import org.apache.avro.Schema;
import org.apache.avro.generic.GenericRecord;
import org.apache.avro.generic.IndexedRecord;
@@ -119,8 +120,6 @@ import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.EnumSource;
import org.junit.jupiter.params.provider.MethodSource;
import org.junit.jupiter.params.provider.ValueSource;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import java.io.IOException;
import java.io.OutputStream;
@@ -175,10 +174,9 @@ import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.fail;
+@Slf4j
public class TestJavaHoodieBackedMetadata extends TestHoodieMetadataBase {
- private static final Logger LOG = LoggerFactory.getLogger(TestJavaHoodieBackedMetadata.class);
-
public static List<Arguments> tableTypeAndEnableOperationArgs() {
return asList(
Arguments.of(COPY_ON_WRITE, true),
@@ -1788,7 +1786,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);
@@ -2780,17 +2778,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(partition + "FsFilename " + fileName + " not found in Meta data");
}
}
for (String fileName : metadataFilenames) {
if (!fsFileNames.contains(fileName)) {
- LOG.error(partition + "Metadata file " + fileName + " not found in original FS");
+ log.error(partition + "Metadata file " + fileName + " not found in original FS");
}
}
}
@@ -2806,12 +2804,11 @@ public class TestJavaHoodieBackedMetadata extends TestHoodieMetadataBase {
fileGroups.addAll(
tableView.getAllReplacedFileGroups(partition).collect(Collectors.toList()));
- fileGroups.forEach(
- g -> LoggerFactory.getLogger(TestJavaHoodieBackedMetadata.class).info(g.toString()));
+ fileGroups.forEach(g -> log.info(g.toString()));
fileGroups.forEach(g -> g.getAllBaseFiles().forEach(
- b -> LoggerFactory.getLogger(TestJavaHoodieBackedMetadata.class).info(b.toString())));
+ b -> log.info(b.toString())));
fileGroups.forEach(g -> g.getAllFileSlices().forEach(
- s -> LoggerFactory.getLogger(TestJavaHoodieBackedMetadata.class).info(s.toString())));
+ s -> log.info(s.toString())));
long numFiles = fileGroups.stream()
.mapToLong(g -> g.getAllBaseFiles().count()
@@ -2865,13 +2862,13 @@ public class TestJavaHoodieBackedMetadata extends TestHoodieMetadataBase {
verifyMetadataColumnStatsRecords(logFiles);
}
} catch (IOException e) {
- LOG.error("Metadata record validation failed", e);
+ log.error("Metadata record validation failed", e);
fail("Metadata record validation failed");
}
});
// 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 86b1a134e0f2..8fc8b480a3f0 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
@@ -48,6 +48,7 @@ import org.apache.hudi.table.HoodieTable;
import org.apache.hudi.testutils.HoodieJavaClientTestHarness;
import org.apache.hudi.testutils.MetadataMergeWriteStatus;
+import lombok.extern.slf4j.Slf4j;
import org.apache.avro.generic.GenericRecord;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.Path;
@@ -56,8 +57,6 @@ import org.apache.hadoop.mapred.JobConf;
import org.apache.parquet.avro.AvroReadSupport;
import org.apache.parquet.hadoop.ParquetReader;
import org.junit.jupiter.api.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import java.io.File;
import java.nio.file.Paths;
@@ -80,9 +79,8 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+@Slf4j
public class TestJavaCopyOnWriteActionExecutor extends HoodieJavaClientTestHarness {
-
- private static final Logger LOG = LoggerFactory.getLogger(TestJavaCopyOnWriteActionExecutor.class);
private static final HoodieSchema SCHEMA = getSchemaFromResource(TestJavaCopyOnWriteActionExecutor.class, "/exampleSchema.avsc");
@Test
@@ -368,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 e4787f97a43c..353be1549081 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
@@ -80,6 +80,7 @@ import org.apache.hudi.table.HoodieJavaTable;
import org.apache.hudi.table.HoodieTable;
import org.apache.hudi.utils.HoodieWriterClientTestHarness;
+import lombok.extern.slf4j.Slf4j;
import org.apache.avro.generic.GenericRecord;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileStatus;
@@ -88,8 +89,6 @@ import org.apache.hadoop.fs.LocalFileSystem;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import java.io.IOException;
import java.util.ArrayList;
@@ -123,10 +122,9 @@ import static org.junit.jupiter.api.Assertions.fail;
/**
* The test harness for resource initialization and cleanup.
*/
+@Slf4j
public abstract class HoodieJavaClientTestHarness extends HoodieWriterClientTestHarness {
- private static final Logger LOG = LoggerFactory.getLogger(HoodieJavaClientTestHarness.class);
-
protected HoodieJavaEngineContext context;
protected TestJavaTaskContextSupplier taskContextSupplier;
protected ExecutorService executorService;
@@ -214,7 +212,7 @@ public abstract class HoodieJavaClientTestHarness extends HoodieWriterClientTest
protected void cleanupFileSystem() throws IOException {
if (storage != null) {
- LOG.warn("Closing HoodieStorage instance used in previous test-run");
+ log.warn("Closing HoodieStorage instance used in previous test-run");
storage.close();
storage = null;
}
@@ -273,7 +271,7 @@ public abstract class HoodieJavaClientTestHarness extends HoodieWriterClientTest
}
// Open up the metadata table again, for syncing
try (HoodieTableMetadataWriter writer = JavaHoodieBackedTableMetadataWriter.create(storageConf, writeConfig, context, Option.empty())) {
- LOG.info("Successfully synced to metadata table");
+ log.info("Successfully synced to metadata table");
} catch (Exception e) {
throw new HoodieMetadataException("Error syncing to metadata table.", e);
}
@@ -355,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,
@@ -399,11 +397,11 @@ public abstract class HoodieJavaClientTestHarness extends HoodieWriterClientTest
tableView.getAllFileGroups(partition).collect(Collectors.toList());
fileGroups.addAll(tableView.getAllReplacedFileGroups(partition).collect(Collectors.toList()));
- fileGroups.forEach(g -> LoggerFactory.getLogger(getClass()).info(g.toString()));
+ fileGroups.forEach(g -> log.info(g.toString()));
fileGroups.forEach(g -> g.getAllBaseFiles()
- .forEach(b -> LoggerFactory.getLogger(getClass()).info(b.toString())));
+ .forEach(b -> log.info(b.toString())));
fileGroups.forEach(g -> g.getAllFileSlices()
- .forEach(s -> LoggerFactory.getLogger(getClass()).info(s.toString())));
+ .forEach(s -> log.info(s.toString())));
long numFiles = fileGroups.stream()
.mapToLong(g -> g.getAllBaseFiles().count()