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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]