1
0

[HUDI-3030] InProcessLockPovider as default when any async servcies enabled with no lock provider override (#4406)

* [HUDI-3030] InProcessLockPovider as default when any async servcies enabled with no lock provider override

 - Making InProcessLockProvider as the default lock provider when
   any async services are enabled and when no lock provider is
   explicitly set.

 - This is the workaround for metadata table updates racing with
   async table serice operations

* [HUDI-3030] InProcessLockPovider as default when any async servcies enabled with no lock provider override

 - Renaming isAnyTableServicesInline/Async() to areAnyTableServicesInline/Async()

* [HUDI-3030] InProcessLockPovider as default when any async servcies enabled with no lock provider override

 - Additionally checking for write config properties when verifying
   the lock provider override. Updated the unit test for this case.
This commit is contained in:
Manoj Govindassamy
2022-01-09 19:10:24 -08:00
committed by GitHub
parent 56f93f4ebd
commit 251d4eb3b6
5 changed files with 149 additions and 10 deletions

View File

@@ -199,10 +199,14 @@ public class HoodieConfig implements Serializable {
public void setDefaultOnCondition(boolean condition, HoodieConfig config) {
if (condition) {
props.putAll(config.getProps());
setDefault(config);
}
}
public void setDefault(HoodieConfig config) {
props.putAll(config.getProps());
}
public <T> String getStringOrThrow(ConfigProperty<T> configProperty, String errorMessage) throws HoodieException {
Option<Object> rawValue = getRawValue(configProperty);
if (rawValue.isPresent()) {