1
0

[HUDI-2242] Add configuration inference logic for few options (#3359)

Co-authored-by: Wenning Ding <wenningd@amazon.com>
This commit is contained in:
wenningd
2021-11-19 19:38:38 -08:00
committed by GitHub
parent 0230d40b74
commit 3dc6262437
11 changed files with 179 additions and 51 deletions

View File

@@ -23,6 +23,8 @@ import org.apache.hudi.common.util.StringUtils;
import org.apache.hudi.exception.HoodieException;
import java.io.Serializable;
import java.util.Arrays;
import java.util.List;
import java.util.function.Function;
import java.util.Objects;
@@ -93,8 +95,8 @@ public class ConfigProperty<T> implements Serializable {
return inferFunction;
}
public String[] getAlternatives() {
return alternatives;
public List<String> getAlternatives() {
return Arrays.asList(alternatives);
}
public ConfigProperty<T> withDocumentation(String doc) {

View File

@@ -96,7 +96,7 @@ public class DFSPropertiesConfiguration {
try {
conf.addPropsFromFile(new Path(DEFAULT_CONF_FILE_DIR));
} catch (Exception ignored) {
LOG.debug("Didn't find config file under default conf file dir: " + DEFAULT_CONF_FILE_DIR);
LOG.warn("Didn't find config file under default conf file dir: " + DEFAULT_CONF_FILE_DIR);
}
}
return conf.getProps();

View File

@@ -90,7 +90,7 @@ public class HoodieConfig implements Serializable {
if (props.containsKey(configProperty.key())) {
return true;
}
return Arrays.stream(configProperty.getAlternatives()).anyMatch(props::containsKey);
return configProperty.getAlternatives().stream().anyMatch(props::containsKey);
}
private <T> Option<Object> getRawValue(ConfigProperty<T> configProperty) {