This is an automated email from the ASF dual-hosted git repository. yiguolei pushed a commit to branch dev-1.1.2 in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/dev-1.1.2 by this push: new 31b5e693aa [bugfix-1.1.2](odbc) fix charset not found bug 31b5e693aa is described below commit 31b5e693aa98ec98f289e69bc2e8078e07362d36 Author: yiguolei <yiguo...@gmail.com> AuthorDate: Fri Aug 19 17:54:27 2022 +0800 [bugfix-1.1.2](odbc) fix charset not found bug --- .../apache/doris/catalog/OdbcCatalogResource.java | 1 + .../java/org/apache/doris/catalog/Resource.java | 22 ++++++++++++++++++++++ .../org/apache/doris/catalog/SparkResource.java | 22 ++++++++++++++++++++++ 3 files changed, 45 insertions(+) diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/OdbcCatalogResource.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/OdbcCatalogResource.java index 0b0384c5a4..ae15863d69 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/OdbcCatalogResource.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/OdbcCatalogResource.java @@ -17,6 +17,7 @@ package org.apache.doris.catalog; +import org.apache.doris.common.AnalysisException; import org.apache.doris.common.DdlException; import org.apache.doris.common.proc.BaseProcResult; diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/Resource.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/Resource.java index 252c3c4d56..fe57b1524a 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/Resource.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/Resource.java @@ -18,6 +18,7 @@ package org.apache.doris.catalog; import org.apache.doris.analysis.CreateResourceStmt; +import org.apache.doris.common.AnalysisException; import org.apache.doris.common.DdlException; import org.apache.doris.common.FeConstants; import org.apache.doris.common.io.DeepCopy; @@ -29,6 +30,7 @@ import org.apache.doris.persist.gson.GsonUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import com.google.common.base.Strings; import com.google.gson.annotations.SerializedName; import java.io.DataInput; @@ -92,6 +94,26 @@ public abstract class Resource implements Writable { public ResourceType getType() { return type; } + + /** + * Modify properties in child resources + * @param properties + * @throws DdlException + */ + public abstract void modifyProperties(Map<String, String> properties) throws DdlException; + + /** + * Check properties in child resources + * @param properties + * @throws AnalysisException + */ + public abstract void checkProperties(Map<String, String> properties) throws AnalysisException; + + protected void replaceIfEffectiveValue(Map<String, String> properties, String key, String value) { + if (!Strings.isNullOrEmpty(value)) { + properties.put(key, value); + } + } /** * Set and check the properties in child resources diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/SparkResource.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/SparkResource.java index 8940c30d46..e2feb65326 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/SparkResource.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/SparkResource.java @@ -19,6 +19,7 @@ package org.apache.doris.catalog; import org.apache.doris.analysis.BrokerDesc; import org.apache.doris.analysis.ResourceDesc; +import org.apache.doris.common.AnalysisException; import org.apache.doris.common.Config; import org.apache.doris.common.DdlException; import org.apache.doris.common.LoadException; @@ -210,7 +211,11 @@ public class SparkResource extends Resource { if (properties == null) { return; } + // update properties + updateProperties(properties); + } + private void updateProperties(Map<String, String> properties) throws DdlException { // update spark configs if (properties.containsKey(SPARK_MASTER)) { throw new DdlException("Cannot change spark master"); @@ -296,6 +301,23 @@ public class SparkResource extends Resource { return brokerProperties; } + @Override + public void modifyProperties(Map<String, String> properties) throws DdlException { + updateProperties(properties); + } + + @Override + public void checkProperties(Map<String, String> properties) throws AnalysisException { + Map<String, String> copiedProperties = Maps.newHashMap(properties); + copiedProperties.keySet().removeAll(getSparkConfig(properties).keySet()); + copiedProperties.keySet().removeAll(getBrokerProperties(properties).keySet()); + copiedProperties.remove(BROKER); + copiedProperties.remove(WORKING_DIR); + + if (!copiedProperties.isEmpty()) { + throw new AnalysisException("Unknown spark resource properties: " + copiedProperties); + } + } @Override protected void getProcNodeData(BaseProcResult result) { String lowerCaseType = type.name().toLowerCase(); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org