This is an automated email from the ASF dual-hosted git repository.
dzamo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/drill.git
The following commit(s) were added to refs/heads/master by this push:
new 59d080f76d DRILL-8255: Update Drill-Calcite version to include fix for
CALCITE-4992 (#2591)
59d080f76d is described below
commit 59d080f76d06d1098b89f651ec673c53f6777815
Author: Volodymyr Vysotskyi <[email protected]>
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 d0275ce2d0..cc1c165cd4 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;
@@ -41,22 +42,41 @@ public class ElasticsearchStorageConfig extends
StoragePluginConfig {
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 null;
@@ -85,10 +105,16 @@ public class ElasticsearchStorageConfig extends
StoragePluginConfig {
@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 5564b365f2..545e8cf1cd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -61,7 +61,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.1.7</janino.version>
<sqlline.version>1.12.0</sqlline.version>