Skip to content

Commit 742d548

Browse files
committed
es 9.1.0 support
1 parent 7023075 commit 742d548

File tree

21 files changed

+157
-23
lines changed

21 files changed

+157
-23
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ jdk:
66

77
before_install:
88
- sudo rm -rf /var/lib/elasticsearch
9-
- curl https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-9.0.7-amd64.deb -o elasticsearch.deb && sudo dpkg -i --force-confnew elasticsearch.deb
9+
- curl https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-9.1.0-amd64.deb -o elasticsearch.deb && sudo dpkg -i --force-confnew elasticsearch.deb
1010
- sudo cp ./src/test/resources/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml
1111
- sudo cat /etc/elasticsearch/elasticsearch.yml
1212
- sudo java -version

pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<modelVersion>4.0.0</modelVersion>
44
<groupId>org.nlpcn</groupId>
55
<artifactId>elasticsearch-sql</artifactId>
6-
<version>9.0.7.0</version>
6+
<version>9.1.0.0</version>
77
<packaging>jar</packaging>
88
<description>Query elasticsearch using SQL</description>
99
<name>elasticsearch-sql</name>
@@ -44,7 +44,7 @@
4444
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
4545
<runSuite>**/MainTestSuite.class</runSuite>
4646
<elasticsearch.plugin.name>sql</elasticsearch.plugin.name>
47-
<elasticsearch.version>9.0.7</elasticsearch.version>
47+
<elasticsearch.version>9.1.0</elasticsearch.version>
4848
<elasticsearch.plugin.classname>org.elasticsearch.plugin.nlpcn.SqlPlug</elasticsearch.plugin.classname>
4949
<druid.version>1.2.15</druid.version>
5050
<guava.version>32.0.0-jre</guava.version>

src/main/java/org/elasticsearch/action/update/ParsedUpdateResponse.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
package org.elasticsearch.action.update;
1010

1111
import org.elasticsearch.action.ParsedDocWriteResponse;
12-
import org.elasticsearch.index.get.GetResult;
12+
import org.elasticsearch.index.get.ParsedGetResult;
1313
import org.elasticsearch.xcontent.XContentParser;
1414

1515
import java.io.IOException;
@@ -37,7 +37,7 @@ public static void parseXContentFields(XContentParser parser, UpdateResponse.Bui
3737

3838
if (UpdateResponse.GET.equals(currentFieldName)) {
3939
if (token == XContentParser.Token.START_OBJECT) {
40-
context.setGetResult(GetResult.fromXContentEmbedded(parser));
40+
context.setGetResult(ParsedGetResult.fromXContentEmbedded(parser));
4141
}
4242
} else {
4343
ParsedDocWriteResponse.parseInnerToXContent(parser, context);

src/main/java/org/elasticsearch/aggregations/pipeline/BucketSelectorPipelineAggregationBuilder.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
package org.elasticsearch.aggregations.pipeline;
1010

1111
import org.elasticsearch.TransportVersion;
12+
import org.elasticsearch.TransportVersions;
1213
import org.elasticsearch.common.ParsingException;
1314
import org.elasticsearch.common.io.stream.StreamInput;
1415
import org.elasticsearch.common.io.stream.StreamOutput;
@@ -215,6 +216,6 @@ public String getWriteableName() {
215216

216217
@Override
217218
public TransportVersion getMinimalSupportedVersion() {
218-
return TransportVersion.zero();
219+
return TransportVersions.ZERO;
219220
}
220221
}

src/main/java/org/elasticsearch/aggregations/pipeline/MovFnPipelineAggregationBuilder.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
package org.elasticsearch.aggregations.pipeline;
1010

1111
import org.elasticsearch.TransportVersion;
12+
import org.elasticsearch.TransportVersions;
1213
import org.elasticsearch.common.Strings;
1314
import org.elasticsearch.common.io.stream.StreamInput;
1415
import org.elasticsearch.common.io.stream.StreamOutput;
@@ -240,6 +241,6 @@ public String getWriteableName() {
240241

241242
@Override
242243
public TransportVersion getMinimalSupportedVersion() {
243-
return TransportVersion.zero();
244+
return TransportVersions.ZERO;
244245
}
245246
}
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
/*
2+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3+
* or more contributor license agreements. Licensed under the "Elastic License
4+
* 2.0", the "GNU Affero General Public License v3.0 only", and the "Server Side
5+
* Public License v 1"; you may not use this file except in compliance with, at
6+
* your election, the "Elastic License 2.0", the "GNU Affero General Public
7+
* License v3.0 only", or the "Server Side Public License, v 1".
8+
*/
9+
10+
package org.elasticsearch.index.get;
11+
12+
import org.elasticsearch.common.bytes.BytesReference;
13+
import org.elasticsearch.common.document.DocumentField;
14+
import org.elasticsearch.index.mapper.IgnoredFieldMapper;
15+
import org.elasticsearch.index.mapper.IgnoredSourceFieldMapper;
16+
import org.elasticsearch.index.mapper.SourceFieldMapper;
17+
import org.elasticsearch.xcontent.XContentBuilder;
18+
import org.elasticsearch.xcontent.XContentParser;
19+
20+
import java.io.IOException;
21+
import java.util.Collections;
22+
import java.util.HashMap;
23+
import java.util.Map;
24+
25+
import static org.elasticsearch.common.xcontent.XContentParserUtils.ensureExpectedToken;
26+
import static org.elasticsearch.index.get.GetResult.FIELDS;
27+
import static org.elasticsearch.index.get.GetResult.FOUND;
28+
import static org.elasticsearch.index.get.GetResult._ID;
29+
import static org.elasticsearch.index.get.GetResult._INDEX;
30+
import static org.elasticsearch.index.get.GetResult._PRIMARY_TERM;
31+
import static org.elasticsearch.index.get.GetResult._SEQ_NO;
32+
import static org.elasticsearch.index.get.GetResult._VERSION;
33+
import static org.elasticsearch.index.seqno.SequenceNumbers.UNASSIGNED_PRIMARY_TERM;
34+
import static org.elasticsearch.index.seqno.SequenceNumbers.UNASSIGNED_SEQ_NO;
35+
36+
public class ParsedGetResult {
37+
38+
public static GetResult fromXContentEmbedded(XContentParser parser) throws IOException {
39+
XContentParser.Token token = parser.nextToken();
40+
ensureExpectedToken(XContentParser.Token.FIELD_NAME, token, parser);
41+
return fromXContentEmbedded(parser, null, null);
42+
}
43+
44+
public static GetResult fromXContentEmbedded(XContentParser parser, String index, String id) throws IOException {
45+
XContentParser.Token token = parser.currentToken();
46+
ensureExpectedToken(XContentParser.Token.FIELD_NAME, token, parser);
47+
48+
String currentFieldName = parser.currentName();
49+
long version = -1;
50+
long seqNo = UNASSIGNED_SEQ_NO;
51+
long primaryTerm = UNASSIGNED_PRIMARY_TERM;
52+
Boolean found = null;
53+
BytesReference source = null;
54+
Map<String, DocumentField> documentFields = new HashMap<>();
55+
Map<String, DocumentField> metaFields = new HashMap<>();
56+
while ((token = parser.nextToken()) != XContentParser.Token.END_OBJECT) {
57+
if (token == XContentParser.Token.FIELD_NAME) {
58+
currentFieldName = parser.currentName();
59+
} else if (token.isValue()) {
60+
if (_INDEX.equals(currentFieldName)) {
61+
index = parser.text();
62+
} else if (_ID.equals(currentFieldName)) {
63+
id = parser.text();
64+
} else if (_VERSION.equals(currentFieldName)) {
65+
version = parser.longValue();
66+
} else if (_SEQ_NO.equals(currentFieldName)) {
67+
seqNo = parser.longValue();
68+
} else if (_PRIMARY_TERM.equals(currentFieldName)) {
69+
primaryTerm = parser.longValue();
70+
} else if (FOUND.equals(currentFieldName)) {
71+
found = parser.booleanValue();
72+
} else {
73+
metaFields.put(currentFieldName, new DocumentField(currentFieldName, Collections.singletonList(parser.objectText())));
74+
}
75+
} else if (token == XContentParser.Token.START_OBJECT) {
76+
if (SourceFieldMapper.NAME.equals(currentFieldName)) {
77+
try (XContentBuilder builder = XContentBuilder.builder(parser.contentType().xContent())) {
78+
// the original document gets slightly modified: whitespaces or pretty printing are not preserved,
79+
// it all depends on the current builder settings
80+
builder.copyCurrentStructure(parser);
81+
source = BytesReference.bytes(builder);
82+
}
83+
} else if (FIELDS.equals(currentFieldName)) {
84+
while (parser.nextToken() != XContentParser.Token.END_OBJECT) {
85+
DocumentField getField = DocumentField.fromXContent(parser);
86+
documentFields.put(getField.getName(), getField);
87+
}
88+
} else {
89+
parser.skipChildren(); // skip potential inner objects for forward compatibility
90+
}
91+
} else if (token == XContentParser.Token.START_ARRAY) {
92+
if (IgnoredFieldMapper.NAME.equals(currentFieldName) || IgnoredSourceFieldMapper.NAME.equals(currentFieldName)) {
93+
metaFields.put(currentFieldName, new DocumentField(currentFieldName, parser.list()));
94+
} else {
95+
parser.skipChildren(); // skip potential inner arrays for forward compatibility
96+
}
97+
}
98+
}
99+
return new GetResult(index, id, seqNo, primaryTerm, version, found, source, documentFields, metaFields);
100+
}
101+
102+
public static GetResult fromXContent(XContentParser parser) throws IOException {
103+
XContentParser.Token token = parser.nextToken();
104+
ensureExpectedToken(XContentParser.Token.START_OBJECT, token, parser);
105+
106+
return fromXContentEmbedded(parser);
107+
}
108+
}

src/main/java/org/elasticsearch/join/aggregations/ChildrenAggregationBuilder.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
import org.apache.lucene.search.Query;
1212
import org.elasticsearch.TransportVersion;
13+
import org.elasticsearch.TransportVersions;
1314
import org.elasticsearch.common.ParsingException;
1415
import org.elasticsearch.common.io.stream.StreamInput;
1516
import org.elasticsearch.common.io.stream.StreamOutput;
@@ -162,6 +163,6 @@ public String getType() {
162163

163164
@Override
164165
public TransportVersion getMinimalSupportedVersion() {
165-
return TransportVersion.zero();
166+
return TransportVersions.ZERO;
166167
}
167168
}

src/main/java/org/elasticsearch/join/query/HasChildQueryBuilder.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import org.apache.lucene.search.Query;
1212
import org.apache.lucene.search.join.ScoreMode;
1313
import org.elasticsearch.TransportVersion;
14+
import org.elasticsearch.TransportVersions;
1415
import org.elasticsearch.common.ParsingException;
1516
import org.elasticsearch.common.io.stream.StreamInput;
1617
import org.elasticsearch.common.io.stream.StreamOutput;
@@ -332,6 +333,6 @@ protected void extractInnerHitBuilders(Map<String, InnerHitContextBuilder> inner
332333

333334
@Override
334335
public TransportVersion getMinimalSupportedVersion() {
335-
return TransportVersion.zero();
336+
return TransportVersions.ZERO;
336337
}
337338
}

src/main/java/org/elasticsearch/plugin/nlpcn/client/ElasticsearchRestClient.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public class ElasticsearchRestClient extends AbstractClient implements AutoClose
4040
private final Map<String, ActionHandler<ActionRequest, ?, ?, ActionResponse>> handlers = Maps.newHashMap();
4141

4242
public ElasticsearchRestClient(ElasticsearchClient client) {
43-
super(null, null);
43+
super(null, null, null);
4444

4545
this.client = client;
4646
registerHandler(client);

src/main/java/org/elasticsearch/plugin/nlpcn/client/handler/ClusterStateActionHandler.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,16 @@
2323
import org.elasticsearch.cluster.metadata.IndexTemplateMetadata;
2424
import org.elasticsearch.cluster.metadata.MappingMetadata;
2525
import org.elasticsearch.cluster.metadata.Metadata;
26+
import org.elasticsearch.cluster.metadata.ProjectId;
27+
import org.elasticsearch.cluster.metadata.ProjectMetadata;
2628
import org.elasticsearch.cluster.metadata.ReservedStateMetadata;
2729
import org.elasticsearch.cluster.node.DiscoveryNode;
2830
import org.elasticsearch.cluster.node.DiscoveryNodeRole;
2931
import org.elasticsearch.cluster.node.DiscoveryNodes;
3032
import org.elasticsearch.cluster.node.VersionInformation;
33+
import org.elasticsearch.cluster.routing.GlobalRoutingTable;
3134
import org.elasticsearch.cluster.routing.RoutingTable;
35+
import org.elasticsearch.common.collect.ImmutableOpenMap;
3236
import org.elasticsearch.common.compress.CompressedXContent;
3337
import org.elasticsearch.common.settings.Settings;
3438
import org.elasticsearch.common.transport.TransportAddress;
@@ -196,7 +200,11 @@ protected ClusterStateResponse convertResponse(StateResponse stateResponse) thro
196200
ByteSizeValue.parseBytesSizeValue(disk.getString(KEY_FROZEN_FLOOD_STAGE_MAX_HEADROOM), KEY_FROZEN_FLOOD_STAGE_MAX_HEADROOM)),
197201
new HealthMetadata.ShardLimits(shardLimits.getInt(KEY_MAX_SHARDS_PER_NODE), shardLimits.getInt(KEY_MAX_SHARDS_PER_NODE_FROZEN))));
198202
}
199-
RoutingTable routingTable = RoutingTable.EMPTY_ROUTING_TABLE;
203+
Map<ProjectId, RoutingTable> map = new HashMap<>(metadata.projects().size());
204+
for (Map.Entry<ProjectId, ProjectMetadata> entry : metadata.projects().entrySet()) {
205+
map.put(entry.getKey(), RoutingTable.EMPTY_ROUTING_TABLE);
206+
}
207+
GlobalRoutingTable routingTable = new GlobalRoutingTable(ImmutableOpenMap.builder(map).build());
200208
ClusterBlocks blocks = ClusterBlocks.EMPTY_CLUSTER_BLOCK;
201209
return new ClusterStateResponse(clusterName,
202210
new ClusterState(clusterName, version, stateUUID, metadata, routingTable, nodesBuilder.build(), Collections.emptyMap(), new ClusterFeatures(Collections.emptyMap()), blocks, customs, false, null),

0 commit comments

Comments
 (0)