You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@drill.apache.org by dz...@apache.org on 2022/07/20 17:13:45 UTC
[drill] 02/10: DRILL-8255: Update Drill-Calcite version to include fix for CALCITE-4992 (#2591)
This is an automated email from the ASF dual-hosted git repository.
dzamo pushed a commit to branch 1.20
in repository https://gitbox.apache.org/repos/asf/drill.git
commit 65ca8ff649a730ae7a3f504e7024d6526ece209b
Author: Volodymyr Vysotskyi <vv...@gmail.com>
AuthorDate: Tue Jul 12 07:23:43 2022 +0300
DRILL-8255: Update Drill-Calcite version to include fix for CALCITE-4992 (#2591)
---
.../elasticsearch/ElasticsearchStorageConfig.java | 38 ++++++++++++++++++----
.../elasticsearch/ElasticComplexTypesTest.java | 3 +-
.../store/elasticsearch/ElasticInfoSchemaTest.java | 3 +-
.../store/elasticsearch/ElasticSearchPlanTest.java | 3 +-
.../elasticsearch/ElasticSearchQueryTest.java | 3 +-
pom.xml | 2 +-
6 files changed, 41 insertions(+), 11 deletions(-)
diff --git a/contrib/storage-elasticsearch/src/main/java/org/apache/drill/exec/store/elasticsearch/ElasticsearchStorageConfig.java b/contrib/storage-elasticsearch/src/main/java/org/apache/drill/exec/store/elasticsearch/ElasticsearchStorageConfig.java
index 9e84635076..8d1f50da17 100644
--- a/contrib/storage-elasticsearch/src/main/java/org/apache/drill/exec/store/elasticsearch/ElasticsearchStorageConfig.java
+++ b/contrib/storage-elasticsearch/src/main/java/org/apache/drill/exec/store/elasticsearch/ElasticsearchStorageConfig.java
@@ -30,6 +30,7 @@ import org.apache.drill.common.logical.security.CredentialsProvider;
import org.apache.drill.exec.store.security.UsernamePasswordCredentials;
import org.apache.drill.shaded.guava.com.google.common.collect.ImmutableMap;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@@ -40,22 +41,41 @@ public class ElasticsearchStorageConfig extends AbstractSecuredStoragePluginConf
private static final ObjectWriter OBJECT_WRITER = new ObjectMapper().writerFor(List.class);
+ private static final String HOSTS = "hosts";
+
+ private static final String PATH_PREFIX = "pathPrefix";
+
+ private static final String USERNAME = "username";
+
+ private static final String PASSWORD = "password";
+
+ public static final String CREDENTIALS_PROVIDER = "credentialsProvider";
+
+ private static final String EMPTY_STRING = "";
+
private final List<String> hosts;
+ private final String pathPrefix;
@JsonCreator
public ElasticsearchStorageConfig(
- @JsonProperty("hosts") List<String> hosts,
- @JsonProperty("username") String username,
- @JsonProperty("password") String password,
- @JsonProperty("credentialsProvider") CredentialsProvider credentialsProvider) {
+ @JsonProperty(HOSTS) List<String> hosts,
+ @JsonProperty(USERNAME) String username,
+ @JsonProperty(PASSWORD) String password,
+ @JsonProperty(PATH_PREFIX) String pathPrefix,
+ @JsonProperty(CREDENTIALS_PROVIDER) CredentialsProvider credentialsProvider) {
super(CredentialProviderUtils.getCredentialsProvider(username, password, credentialsProvider), credentialsProvider == null);
this.hosts = hosts;
+ this.pathPrefix = pathPrefix;
}
public List<String> getHosts() {
return hosts;
}
+ public String getPathPrefix() {
+ return pathPrefix;
+ }
+
public String getUsername() {
if (directCredentials) {
return getUsernamePasswordCredentials().getUsername();
@@ -78,10 +98,16 @@ public class ElasticsearchStorageConfig extends AbstractSecuredStoragePluginConf
@JsonIgnore
public Map<String, Object> toConfigMap()
throws JsonProcessingException {
+ Map<String, String> credentials = new HashMap<>(credentialsProvider.getCredentials());
ImmutableMap.Builder<String, Object> builder = ImmutableMap.builder();
- builder.put("hosts", OBJECT_WRITER.writeValueAsString(hosts));
+ builder.put(HOSTS, OBJECT_WRITER.writeValueAsString(hosts));
+ builder.put(PATH_PREFIX, pathPrefix != null ? pathPrefix : EMPTY_STRING);
+ builder.put(USERNAME, credentials.getOrDefault(USERNAME, EMPTY_STRING));
+ builder.put(PASSWORD, credentials.getOrDefault(PASSWORD, EMPTY_STRING));
- builder.putAll(credentialsProvider.getCredentials());
+ credentials.remove(USERNAME);
+ credentials.remove(PASSWORD);
+ builder.putAll(credentials);
return builder.build();
}
diff --git a/contrib/storage-elasticsearch/src/test/java/org/apache/drill/exec/store/elasticsearch/ElasticComplexTypesTest.java b/contrib/storage-elasticsearch/src/test/java/org/apache/drill/exec/store/elasticsearch/ElasticComplexTypesTest.java
index 9f4f52dafa..f777d38481 100644
--- a/contrib/storage-elasticsearch/src/test/java/org/apache/drill/exec/store/elasticsearch/ElasticComplexTypesTest.java
+++ b/contrib/storage-elasticsearch/src/test/java/org/apache/drill/exec/store/elasticsearch/ElasticComplexTypesTest.java
@@ -56,7 +56,8 @@ public class ElasticComplexTypesTest extends ClusterTest {
startCluster(ClusterFixture.builder(dirTestWatcher));
ElasticsearchStorageConfig config = new ElasticsearchStorageConfig(
- Collections.singletonList(TestElasticsearchSuite.getAddress()), null, null, PlainCredentialsProvider.EMPTY_CREDENTIALS_PROVIDER);
+ Collections.singletonList(TestElasticsearchSuite.getAddress()),
+ null, null, null, PlainCredentialsProvider.EMPTY_CREDENTIALS_PROVIDER);
config.setEnabled(true);
cluster.defineStoragePlugin("elastic", config);
diff --git a/contrib/storage-elasticsearch/src/test/java/org/apache/drill/exec/store/elasticsearch/ElasticInfoSchemaTest.java b/contrib/storage-elasticsearch/src/test/java/org/apache/drill/exec/store/elasticsearch/ElasticInfoSchemaTest.java
index aa4dae47b9..4edd3ed77a 100644
--- a/contrib/storage-elasticsearch/src/test/java/org/apache/drill/exec/store/elasticsearch/ElasticInfoSchemaTest.java
+++ b/contrib/storage-elasticsearch/src/test/java/org/apache/drill/exec/store/elasticsearch/ElasticInfoSchemaTest.java
@@ -51,7 +51,8 @@ public class ElasticInfoSchemaTest extends ClusterTest {
startCluster(ClusterFixture.builder(dirTestWatcher));
ElasticsearchStorageConfig config = new ElasticsearchStorageConfig(
- Collections.singletonList(TestElasticsearchSuite.getAddress()), null, null, PlainCredentialsProvider.EMPTY_CREDENTIALS_PROVIDER);
+ Collections.singletonList(TestElasticsearchSuite.getAddress()),
+ null, null, null, PlainCredentialsProvider.EMPTY_CREDENTIALS_PROVIDER);
config.setEnabled(true);
cluster.defineStoragePlugin("elastic", config);
diff --git a/contrib/storage-elasticsearch/src/test/java/org/apache/drill/exec/store/elasticsearch/ElasticSearchPlanTest.java b/contrib/storage-elasticsearch/src/test/java/org/apache/drill/exec/store/elasticsearch/ElasticSearchPlanTest.java
index db81edf592..c654d3fa1a 100644
--- a/contrib/storage-elasticsearch/src/test/java/org/apache/drill/exec/store/elasticsearch/ElasticSearchPlanTest.java
+++ b/contrib/storage-elasticsearch/src/test/java/org/apache/drill/exec/store/elasticsearch/ElasticSearchPlanTest.java
@@ -49,7 +49,8 @@ public class ElasticSearchPlanTest extends ClusterTest {
startCluster(ClusterFixture.builder(dirTestWatcher));
ElasticsearchStorageConfig config = new ElasticsearchStorageConfig(
- Collections.singletonList(TestElasticsearchSuite.getAddress()), null, null, PlainCredentialsProvider.EMPTY_CREDENTIALS_PROVIDER);
+ Collections.singletonList(TestElasticsearchSuite.getAddress()),
+ null, null, null, PlainCredentialsProvider.EMPTY_CREDENTIALS_PROVIDER);
config.setEnabled(true);
cluster.defineStoragePlugin("elastic", config);
diff --git a/contrib/storage-elasticsearch/src/test/java/org/apache/drill/exec/store/elasticsearch/ElasticSearchQueryTest.java b/contrib/storage-elasticsearch/src/test/java/org/apache/drill/exec/store/elasticsearch/ElasticSearchQueryTest.java
index 374c449107..727e8314dc 100644
--- a/contrib/storage-elasticsearch/src/test/java/org/apache/drill/exec/store/elasticsearch/ElasticSearchQueryTest.java
+++ b/contrib/storage-elasticsearch/src/test/java/org/apache/drill/exec/store/elasticsearch/ElasticSearchQueryTest.java
@@ -57,7 +57,8 @@ public class ElasticSearchQueryTest extends ClusterTest {
startCluster(ClusterFixture.builder(dirTestWatcher));
ElasticsearchStorageConfig config = new ElasticsearchStorageConfig(
- Collections.singletonList(TestElasticsearchSuite.getAddress()), null, null, PlainCredentialsProvider.EMPTY_CREDENTIALS_PROVIDER);
+ Collections.singletonList(TestElasticsearchSuite.getAddress()),
+ null, null, null, PlainCredentialsProvider.EMPTY_CREDENTIALS_PROVIDER);
config.setEnabled(true);
cluster.defineStoragePlugin("elastic", config);
diff --git a/pom.xml b/pom.xml
index bc845a5ab5..fc4a343c91 100644
--- a/pom.xml
+++ b/pom.xml
@@ -60,7 +60,7 @@
avoid_bad_dependencies plugin found in the file.
-->
<calcite.groupId>com.github.vvysotskyi.drill-calcite</calcite.groupId>
- <calcite.version>1.21.0-drill-r8</calcite.version>
+ <calcite.version>1.21.0-drill-r9</calcite.version>
<avatica.version>1.17.0</avatica.version>
<janino.version>3.0.11</janino.version>
<sqlline.version>1.12.0</sqlline.version>