Skip to content
This repository has been archived by the owner on Aug 2, 2022. It is now read-only.

Bump develop branch to 1.9 and fix all build errors #552

Merged
merged 1 commit into from Jul 9, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 2 additions & 2 deletions build.gradle
Expand Up @@ -15,7 +15,7 @@

buildscript {
ext {
es_version = "7.7.0"
es_version = "7.8.0"
}

repositories {
Expand Down Expand Up @@ -43,7 +43,7 @@ repositories {
}

ext {
opendistroVersion = '1.8.0'
opendistroVersion = '1.9.0'
isSnapshot = "true" == System.getProperty("build.snapshot", "true")
}

Expand Down
Expand Up @@ -33,7 +33,7 @@
import org.elasticsearch.client.node.NodeClient;
import org.elasticsearch.cluster.ClusterState;
import org.elasticsearch.cluster.metadata.IndexNameExpressionResolver;
import org.elasticsearch.cluster.metadata.MappingMetaData;
import org.elasticsearch.cluster.metadata.MappingMetadata;
import org.elasticsearch.cluster.service.ClusterService;
import org.elasticsearch.common.collect.ImmutableOpenMap;
import org.elasticsearch.common.unit.TimeValue;
Expand Down Expand Up @@ -78,7 +78,7 @@ public Map<String, IndexMapping> getIndexMappings(String indexExpression) {
String[] concreteIndices = resolveIndexExpression(state, new String[] {indexExpression});

return populateIndexMappings(
state.metaData().findMappings(concreteIndices, ALL_TYPES, ALL_FIELDS));
state.metadata().findMappings(concreteIndices, ALL_TYPES, ALL_FIELDS));
} catch (IOException e) {
throw new IllegalStateException(
"Failed to read mapping in cluster state for index pattern [" + indexExpression + "]", e);
Expand Down Expand Up @@ -111,7 +111,7 @@ public void cleanup(ElasticsearchRequest request) {
public void schedule(Runnable task) {
ThreadPool threadPool = client.threadPool();
threadPool.schedule(
threadPool.preserveContext(withCurrentContext(task)),
withCurrentContext(task),
new TimeValue(0),
SQL_WORKER_THREAD_POOL_NAME
);
Expand All @@ -122,18 +122,18 @@ private String[] resolveIndexExpression(ClusterState state, String[] indices) {
}

private Map<String, IndexMapping> populateIndexMappings(
ImmutableOpenMap<String, ImmutableOpenMap<String, MappingMetaData>> indexMappings) {
ImmutableOpenMap<String, ImmutableOpenMap<String, MappingMetadata>> indexMappings) {

ImmutableMap.Builder<String, IndexMapping> result = ImmutableMap.builder();
for (ObjectObjectCursor<String, ImmutableOpenMap<String, MappingMetaData>> cursor :
for (ObjectObjectCursor<String, ImmutableOpenMap<String, MappingMetadata>> cursor :
indexMappings) {
result.put(cursor.key, populateIndexMapping(cursor.value));
}
return result.build();
}

private IndexMapping populateIndexMapping(
ImmutableOpenMap<String, MappingMetaData> indexMapping) {
ImmutableOpenMap<String, MappingMetadata> indexMapping) {
if (indexMapping.isEmpty()) {
return new IndexMapping(Collections.emptyMap());
}
Expand Down
Expand Up @@ -24,7 +24,7 @@
import java.util.function.Function;
import java.util.stream.Collectors;
import lombok.ToString;
import org.elasticsearch.cluster.metadata.MappingMetaData;
import org.elasticsearch.cluster.metadata.MappingMetadata;

/**
* Elasticsearch index mapping. Because there is no specific behavior for different field types,
Expand All @@ -40,7 +40,7 @@ public IndexMapping(Map<String, String> fieldMappings) {
this.fieldMappings = fieldMappings;
}

public IndexMapping(MappingMetaData metaData) {
public IndexMapping(MappingMetadata metaData) {
this.fieldMappings = flatMappings(metaData.getSourceAsMap());
}

Expand Down
Expand Up @@ -44,10 +44,10 @@
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.client.node.NodeClient;
import org.elasticsearch.cluster.ClusterState;
import org.elasticsearch.cluster.metadata.AliasOrIndex;
import org.elasticsearch.cluster.metadata.IndexMetaData;
import org.elasticsearch.cluster.metadata.MappingMetaData;
import org.elasticsearch.cluster.metadata.MetaData;
import org.elasticsearch.cluster.metadata.IndexAbstraction;
import org.elasticsearch.cluster.metadata.IndexMetadata;
import org.elasticsearch.cluster.metadata.MappingMetadata;
import org.elasticsearch.cluster.metadata.Metadata;
import org.elasticsearch.cluster.service.ClusterService;
import org.elasticsearch.common.collect.ImmutableOpenMap;
import org.elasticsearch.common.xcontent.DeprecationHandler;
Expand Down Expand Up @@ -181,7 +181,6 @@ public void search() {
@Test
void schedule() {
ThreadPool threadPool = mock(ThreadPool.class);
when(threadPool.preserveContext(any())).then(invocation -> invocation.getArgument(0));
when(nodeClient.threadPool()).thenReturn(threadPool);

doAnswer(
Expand Down Expand Up @@ -239,38 +238,38 @@ private ElasticsearchNodeClient mockClient(String indexName, String mappings) {
public ClusterService mockClusterService(String indexName) {
ClusterService mockService = mock(ClusterService.class);
ClusterState mockState = mock(ClusterState.class);
MetaData mockMetaData = mock(MetaData.class);
Metadata mockMetaData = mock(Metadata.class);

when(mockService.state()).thenReturn(mockState);
when(mockState.metaData()).thenReturn(mockMetaData);
when(mockMetaData.getAliasAndIndexLookup())
.thenReturn(ImmutableSortedMap.of(indexName, mock(AliasOrIndex.class)));
when(mockState.metadata()).thenReturn(mockMetaData);
when(mockMetaData.getIndicesLookup())
.thenReturn(ImmutableSortedMap.of(indexName, mock(IndexAbstraction.class)));
return mockService;
}

public ClusterService mockClusterService(String indexName, String mappings) {
ClusterService mockService = mock(ClusterService.class);
ClusterState mockState = mock(ClusterState.class);
MetaData mockMetaData = mock(MetaData.class);
Metadata mockMetaData = mock(Metadata.class);

when(mockService.state()).thenReturn(mockState);
when(mockState.metaData()).thenReturn(mockMetaData);
when(mockState.metadata()).thenReturn(mockMetaData);
try {
ImmutableOpenMap.Builder<String, ImmutableOpenMap<String, MappingMetaData>> builder =
ImmutableOpenMap.Builder<String, ImmutableOpenMap<String, MappingMetadata>> builder =
ImmutableOpenMap.builder();
ImmutableOpenMap<String, MappingMetaData> metadata;
ImmutableOpenMap<String, MappingMetadata> metadata;
if (mappings.isEmpty()) {
metadata = ImmutableOpenMap.of();
} else {
metadata = IndexMetaData.fromXContent(createParser(mappings)).getMappings();
metadata = IndexMetadata.fromXContent(createParser(mappings)).getMappings();
}
builder.put(indexName, metadata);
when(mockMetaData.findMappings(any(), any(), any())).thenReturn(builder.build());

// IndexNameExpressionResolver use this method to check if index exists. If not,
// IndexNotFoundException is thrown.
when(mockMetaData.getAliasAndIndexLookup())
.thenReturn(ImmutableSortedMap.of(indexName, mock(AliasOrIndex.class)));
when(mockMetaData.getIndicesLookup())
.thenReturn(ImmutableSortedMap.of(indexName, mock(IndexAbstraction.class)));
} catch (IOException e) {
throw new IllegalStateException("Failed to mock cluster service", e);
}
Expand All @@ -280,14 +279,14 @@ public ClusterService mockClusterService(String indexName, String mappings) {
public ClusterService mockClusterService(String indexName, Throwable t) {
ClusterService mockService = mock(ClusterService.class);
ClusterState mockState = mock(ClusterState.class);
MetaData mockMetaData = mock(MetaData.class);
Metadata mockMetaData = mock(Metadata.class);

when(mockService.state()).thenReturn(mockState);
when(mockState.metaData()).thenReturn(mockMetaData);
when(mockState.metadata()).thenReturn(mockMetaData);
try {
when(mockMetaData.findMappings(any(), any(), any())).thenThrow(t);
when(mockMetaData.getAliasAndIndexLookup())
.thenReturn(ImmutableSortedMap.of(indexName, mock(AliasOrIndex.class)));
when(mockMetaData.getIndicesLookup())
.thenReturn(ImmutableSortedMap.of(indexName, mock(IndexAbstraction.class)));
} catch (IOException e) {
throw new IllegalStateException("Failed to mock cluster service", e);
}
Expand Down
Expand Up @@ -43,8 +43,8 @@
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.client.indices.GetMappingsRequest;
import org.elasticsearch.client.indices.GetMappingsResponse;
import org.elasticsearch.cluster.metadata.IndexMetaData;
import org.elasticsearch.cluster.metadata.MappingMetaData;
import org.elasticsearch.cluster.metadata.IndexMetadata;
import org.elasticsearch.cluster.metadata.MappingMetadata;
import org.elasticsearch.common.xcontent.DeprecationHandler;
import org.elasticsearch.common.xcontent.NamedXContentRegistry;
import org.elasticsearch.common.xcontent.XContentParser;
Expand Down Expand Up @@ -193,9 +193,9 @@ void cleanupWithIOException() throws IOException {
assertThrows(IllegalStateException.class, () -> client.cleanup(request));
}

private Map<String, MappingMetaData> mockFieldMappings(String indexName, String mappings)
private Map<String, MappingMetadata> mockFieldMappings(String indexName, String mappings)
throws IOException {
return ImmutableMap.of(indexName, IndexMetaData.fromXContent(createParser(mappings)).mapping());
return ImmutableMap.of(indexName, IndexMetadata.fromXContent(createParser(mappings)).mapping());
}

private XContentParser createParser(String mappings) throws IOException {
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Expand Up @@ -13,4 +13,4 @@
# permissions and limitations under the License.
#

version=1.8.0
version=1.9.0
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Expand Up @@ -13,7 +13,7 @@
# permissions and limitations under the License.
#

distributionUrl=https\://services.gradle.org/distributions/gradle-6.4-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
Expand Down
6 changes: 6 additions & 0 deletions integ-test/build.gradle
Expand Up @@ -11,6 +11,12 @@ ext {
noticeFile = rootProject.file('NOTICE')
}

tasks.withType(licenseHeaders.class) {
additionalLicense 'AL ', 'Apache', 'Licensed under the Apache License, Version 2.0 (the "License")'
}

validateNebulaPom.enabled = false

repositories {
mavenCentral()
}
Expand Down
Expand Up @@ -36,12 +36,16 @@
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.TransportAddress;
import org.elasticsearch.env.Environment;
import org.elasticsearch.http.HttpInfo;
import org.elasticsearch.plugins.Plugin;
import org.elasticsearch.test.InternalTestCluster;
import org.elasticsearch.test.TestCluster;
import org.elasticsearch.transport.MockTransportClient;
import org.elasticsearch.transport.nio.MockNioTransportPlugin;

import static org.elasticsearch.action.admin.cluster.node.info.NodesInfoRequest.Metric.HTTP;
import static org.elasticsearch.action.admin.cluster.node.info.NodesInfoRequest.Metric.SETTINGS;

public class CustomExternalTestCluster extends TestCluster {

private static final Logger logger = LogManager.getLogger(CustomExternalTestCluster.class);
Expand Down Expand Up @@ -85,14 +89,16 @@ public CustomExternalTestCluster(Path tempDir, Settings additionalSettings,
try {
client.addTransportAddresses(transportAddresses);
NodesInfoResponse nodeInfos =
client.admin().cluster().prepareNodesInfo().clear().setSettings(true).setHttp(true).get();
client.admin().cluster().prepareNodesInfo().clear()
.addMetrics(SETTINGS.metricName(), HTTP.metricName())
.get();
httpAddresses = new InetSocketAddress[nodeInfos.getNodes().size()];
this.clusterName = nodeInfos.getClusterName().value();
int dataNodes = 0;
int masterAndDataNodes = 0;
for (int i = 0; i < nodeInfos.getNodes().size(); i++) {
NodeInfo nodeInfo = nodeInfos.getNodes().get(i);
httpAddresses[i] = nodeInfo.getHttp().address().publishAddress().address();
httpAddresses[i] = nodeInfo.getInfo(HttpInfo.class).address().publishAddress().address();
if (DiscoveryNode.isDataNode(nodeInfo.getSettings())) {
dataNodes++;
masterAndDataNodes++;
Expand Down
Expand Up @@ -109,11 +109,11 @@ public void setClusterService(ClusterService clusterService) {
this.clusterService = clusterService;

clusterService.addListener(event -> {
if (event.metaDataChanged()) {
if (event.metadataChanged()) {
// State in cluster service is already changed to event.state() before listener fired
if (LOG.isDebugEnabled()) {
LOG.debug("Metadata in cluster state changed: {}",
new IndexMappings(clusterService.state().metaData()));
new IndexMappings(clusterService.state().metadata()));
}
cache.invalidateAll();
}
Expand Down Expand Up @@ -222,7 +222,7 @@ private IndexMappings findMappings(ClusterState state, String[] indices, String[
Function<String, Predicate<String>> fieldFilter) throws IOException {
LOG.debug("Cache didn't help. Load and parse mapping in cluster state");
return new IndexMappings(
state.metaData().findMappings(indices, types, fieldFilter)
state.metadata().findMappings(indices, types, fieldFilter)
);
}

Expand Down
Expand Up @@ -21,7 +21,7 @@
import java.util.Map;

import static java.util.Collections.emptyMap;
import static org.elasticsearch.action.admin.indices.mapping.get.GetFieldMappingsResponse.FieldMappingMetaData;
import static org.elasticsearch.action.admin.indices.mapping.get.GetFieldMappingsResponse.FieldMappingMetadata;

/**
* Field mapping that parses native ES mapping.
Expand All @@ -39,7 +39,7 @@ public class FieldMapping {
/**
* Native mapping information returned from ES
*/
private final Map<String, FieldMappingMetaData> typeMappings;
private final Map<String, FieldMappingMetadata> typeMappings;

/**
* Maps a field name to Field object that specified in query explicitly
Expand All @@ -51,7 +51,7 @@ public FieldMapping(String fieldName) {
}

public FieldMapping(String fieldName,
Map<String, FieldMappingMetaData> typeMappings,
Map<String, FieldMappingMetadata> typeMappings,
Map<String, Field> specifiedFieldByNames) {

this.fieldName = fieldName;
Expand Down Expand Up @@ -123,7 +123,7 @@ public String path() {
*/
@SuppressWarnings("unchecked")
public String type() {
FieldMappingMetaData metaData = typeMappings.get(fieldName);
FieldMappingMetadata metaData = typeMappings.get(fieldName);
Map<String, Object> source = metaData.sourceAsMap();
String[] fieldPath = fieldName.split("\\.");

Expand Down
Expand Up @@ -15,7 +15,7 @@

package com.amazon.opendistroforelasticsearch.sql.legacy.esdomain.mapping;

import org.elasticsearch.cluster.metadata.MappingMetaData;
import org.elasticsearch.cluster.metadata.MappingMetadata;
import org.json.JSONObject;

import java.util.HashMap;
Expand Down Expand Up @@ -61,7 +61,7 @@ public class FieldMappings implements Mappings<Map<String, Object>> {
*/
private final Map<String, Object> fieldMappings;

public FieldMappings(MappingMetaData mappings) {
public FieldMappings(MappingMetadata mappings) {
fieldMappings = mappings.sourceAsMap();
}

Expand Down
Expand Up @@ -15,8 +15,8 @@

package com.amazon.opendistroforelasticsearch.sql.legacy.esdomain.mapping;

import org.elasticsearch.cluster.metadata.MappingMetaData;
import org.elasticsearch.cluster.metadata.MetaData;
import org.elasticsearch.cluster.metadata.MappingMetadata;
import org.elasticsearch.cluster.metadata.Metadata;
import org.elasticsearch.common.collect.ImmutableOpenMap;

import java.util.Map;
Expand Down Expand Up @@ -55,12 +55,12 @@ public IndexMappings() {
this.indexMappings = emptyMap();
}

public IndexMappings(MetaData metaData) {
public IndexMappings(Metadata metaData) {
this.indexMappings = buildMappings(metaData.indices(),
indexMetaData -> new TypeMappings(indexMetaData.getMappings()));
}

public IndexMappings(ImmutableOpenMap<String, ImmutableOpenMap<String, MappingMetaData>> mappings) {
public IndexMappings(ImmutableOpenMap<String, ImmutableOpenMap<String, MappingMetadata>> mappings) {
this.indexMappings = buildMappings(mappings, TypeMappings::new);
}

Expand Down
Expand Up @@ -15,7 +15,7 @@

package com.amazon.opendistroforelasticsearch.sql.legacy.esdomain.mapping;

import org.elasticsearch.cluster.metadata.MappingMetaData;
import org.elasticsearch.cluster.metadata.MappingMetadata;
import org.elasticsearch.common.collect.ImmutableOpenMap;

import java.util.Map;
Expand All @@ -36,7 +36,7 @@ public class TypeMappings implements Mappings<FieldMappings> {
*/
private final Map<String, FieldMappings> typeMappings;

public TypeMappings(ImmutableOpenMap<String, MappingMetaData> mappings) {
public TypeMappings(ImmutableOpenMap<String, MappingMetadata> mappings) {
typeMappings = buildMappings(mappings, FieldMappings::new);
}

Expand Down
Expand Up @@ -143,7 +143,7 @@ private void async(Client client, Map<String, String> params, QueryAction queryA

// Preserve context of calling thread to ensure headers of requests are forwarded when running blocking actions
threadPool.schedule(
threadPool.preserveContext(LogUtils.withCurrentContext(runnable)),
LogUtils.withCurrentContext(runnable),
new TimeValue(0L),
SQL_WORKER_THREAD_POOL_NAME
);
Expand Down