Skip to content

Commit 2d3f2a3

Browse files
authored
[HUDI-2734] Setting default metadata enable as false for Java (#4003)
1 parent f715cf6 commit 2d3f2a3

3 files changed

Lines changed: 24 additions & 4 deletions

File tree

hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/HoodieWriteConfig.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2179,7 +2179,7 @@ protected void setDefaults() {
21792179
writeConfig.setDefaultOnCondition(!isPayloadConfigSet,
21802180
HoodiePayloadConfig.newBuilder().fromProperties(writeConfig.getProps()).build());
21812181
writeConfig.setDefaultOnCondition(!isMetadataConfigSet,
2182-
HoodieMetadataConfig.newBuilder().fromProperties(writeConfig.getProps()).build());
2182+
HoodieMetadataConfig.newBuilder().withEngineType(engineType).fromProperties(writeConfig.getProps()).build());
21832183
writeConfig.setDefaultOnCondition(!isLockConfigSet,
21842184
HoodieLockConfig.newBuilder().fromProperties(writeConfig.getProps()).build());
21852185
writeConfig.setDefaultOnCondition(!isPreCommitValidationConfigSet,

hudi-client/hudi-java-client/src/test/java/org/apache/hudi/table/action/commit/TestJavaCopyOnWriteActionExecutor.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import org.apache.hudi.client.HoodieJavaWriteClient;
2222
import org.apache.hudi.client.WriteStatus;
2323
import org.apache.hudi.common.bloom.BloomFilter;
24-
import org.apache.hudi.common.config.HoodieMetadataConfig;
2524
import org.apache.hudi.common.engine.EngineType;
2625
import org.apache.hudi.common.fs.FSUtils;
2726
import org.apache.hudi.common.model.HoodieKey;
@@ -115,8 +114,7 @@ private HoodieWriteConfig.Builder makeHoodieClientConfigBuilder() {
115114
return HoodieWriteConfig.newBuilder()
116115
.withEngineType(EngineType.JAVA)
117116
.withPath(basePath)
118-
.withSchema(SCHEMA.toString())
119-
.withMetadataConfig(HoodieMetadataConfig.newBuilder().enable(false).build());
117+
.withSchema(SCHEMA.toString());
120118
}
121119

122120
@Test

hudi-common/src/main/java/org/apache/hudi/common/config/HoodieMetadataConfig.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@
1818

1919
package org.apache.hudi.common.config;
2020

21+
import org.apache.hudi.common.engine.EngineType;
22+
import org.apache.hudi.exception.HoodieNotSupportedException;
23+
2124
import javax.annotation.concurrent.Immutable;
2225

2326
import java.io.File;
@@ -163,6 +166,7 @@ public boolean enableFullScan() {
163166

164167
public static class Builder {
165168

169+
private EngineType engineType = EngineType.SPARK;
166170
private final HoodieMetadataConfig metadataConfig = new HoodieMetadataConfig();
167171

168172
public Builder fromFile(File propertiesFile) throws IOException {
@@ -233,10 +237,28 @@ public Builder enableFullScan(boolean enableFullScan) {
233237
return this;
234238
}
235239

240+
public Builder withEngineType(EngineType engineType) {
241+
this.engineType = engineType;
242+
return this;
243+
}
244+
236245
public HoodieMetadataConfig build() {
246+
metadataConfig.setDefaultValue(ENABLE, getDefaultMetadataEnable(engineType));
237247
metadataConfig.setDefaults(HoodieMetadataConfig.class.getName());
238248
return metadataConfig;
239249
}
250+
251+
private boolean getDefaultMetadataEnable(EngineType engineType) {
252+
switch (engineType) {
253+
case SPARK:
254+
return ENABLE.defaultValue();
255+
case FLINK:
256+
case JAVA:
257+
return false;
258+
default:
259+
throw new HoodieNotSupportedException("Unsupported engine " + engineType);
260+
}
261+
}
240262
}
241263

242264
/**

0 commit comments

Comments
 (0)