[HUDI-2734] Setting default metadata enable as false for Java (#4003)
This commit is contained in:
committed by
GitHub
parent
f715cf607f
commit
2d3f2a3275
@@ -2179,7 +2179,7 @@ public class HoodieWriteConfig extends HoodieConfig {
|
|||||||
writeConfig.setDefaultOnCondition(!isPayloadConfigSet,
|
writeConfig.setDefaultOnCondition(!isPayloadConfigSet,
|
||||||
HoodiePayloadConfig.newBuilder().fromProperties(writeConfig.getProps()).build());
|
HoodiePayloadConfig.newBuilder().fromProperties(writeConfig.getProps()).build());
|
||||||
writeConfig.setDefaultOnCondition(!isMetadataConfigSet,
|
writeConfig.setDefaultOnCondition(!isMetadataConfigSet,
|
||||||
HoodieMetadataConfig.newBuilder().fromProperties(writeConfig.getProps()).build());
|
HoodieMetadataConfig.newBuilder().withEngineType(engineType).fromProperties(writeConfig.getProps()).build());
|
||||||
writeConfig.setDefaultOnCondition(!isLockConfigSet,
|
writeConfig.setDefaultOnCondition(!isLockConfigSet,
|
||||||
HoodieLockConfig.newBuilder().fromProperties(writeConfig.getProps()).build());
|
HoodieLockConfig.newBuilder().fromProperties(writeConfig.getProps()).build());
|
||||||
writeConfig.setDefaultOnCondition(!isPreCommitValidationConfigSet,
|
writeConfig.setDefaultOnCondition(!isPreCommitValidationConfigSet,
|
||||||
|
|||||||
@@ -21,7 +21,6 @@ package org.apache.hudi.table.action.commit;
|
|||||||
import org.apache.hudi.client.HoodieJavaWriteClient;
|
import org.apache.hudi.client.HoodieJavaWriteClient;
|
||||||
import org.apache.hudi.client.WriteStatus;
|
import org.apache.hudi.client.WriteStatus;
|
||||||
import org.apache.hudi.common.bloom.BloomFilter;
|
import org.apache.hudi.common.bloom.BloomFilter;
|
||||||
import org.apache.hudi.common.config.HoodieMetadataConfig;
|
|
||||||
import org.apache.hudi.common.engine.EngineType;
|
import org.apache.hudi.common.engine.EngineType;
|
||||||
import org.apache.hudi.common.fs.FSUtils;
|
import org.apache.hudi.common.fs.FSUtils;
|
||||||
import org.apache.hudi.common.model.HoodieKey;
|
import org.apache.hudi.common.model.HoodieKey;
|
||||||
@@ -115,8 +114,7 @@ public class TestJavaCopyOnWriteActionExecutor extends HoodieJavaClientTestBase
|
|||||||
return HoodieWriteConfig.newBuilder()
|
return HoodieWriteConfig.newBuilder()
|
||||||
.withEngineType(EngineType.JAVA)
|
.withEngineType(EngineType.JAVA)
|
||||||
.withPath(basePath)
|
.withPath(basePath)
|
||||||
.withSchema(SCHEMA.toString())
|
.withSchema(SCHEMA.toString());
|
||||||
.withMetadataConfig(HoodieMetadataConfig.newBuilder().enable(false).build());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
@@ -18,6 +18,9 @@
|
|||||||
|
|
||||||
package org.apache.hudi.common.config;
|
package org.apache.hudi.common.config;
|
||||||
|
|
||||||
|
import org.apache.hudi.common.engine.EngineType;
|
||||||
|
import org.apache.hudi.exception.HoodieNotSupportedException;
|
||||||
|
|
||||||
import javax.annotation.concurrent.Immutable;
|
import javax.annotation.concurrent.Immutable;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@@ -163,6 +166,7 @@ public final class HoodieMetadataConfig extends HoodieConfig {
|
|||||||
|
|
||||||
public static class Builder {
|
public static class Builder {
|
||||||
|
|
||||||
|
private EngineType engineType = EngineType.SPARK;
|
||||||
private final HoodieMetadataConfig metadataConfig = new HoodieMetadataConfig();
|
private final HoodieMetadataConfig metadataConfig = new HoodieMetadataConfig();
|
||||||
|
|
||||||
public Builder fromFile(File propertiesFile) throws IOException {
|
public Builder fromFile(File propertiesFile) throws IOException {
|
||||||
@@ -233,10 +237,28 @@ public final class HoodieMetadataConfig extends HoodieConfig {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Builder withEngineType(EngineType engineType) {
|
||||||
|
this.engineType = engineType;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public HoodieMetadataConfig build() {
|
public HoodieMetadataConfig build() {
|
||||||
|
metadataConfig.setDefaultValue(ENABLE, getDefaultMetadataEnable(engineType));
|
||||||
metadataConfig.setDefaults(HoodieMetadataConfig.class.getName());
|
metadataConfig.setDefaults(HoodieMetadataConfig.class.getName());
|
||||||
return metadataConfig;
|
return metadataConfig;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean getDefaultMetadataEnable(EngineType engineType) {
|
||||||
|
switch (engineType) {
|
||||||
|
case SPARK:
|
||||||
|
return ENABLE.defaultValue();
|
||||||
|
case FLINK:
|
||||||
|
case JAVA:
|
||||||
|
return false;
|
||||||
|
default:
|
||||||
|
throw new HoodieNotSupportedException("Unsupported engine " + engineType);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user