Skip to content

Commit ac9e1e6

Browse files
authored
Pass runtime_fields from FieldCapabilitiesRequest to FieldCapabilitiesIndexRequest (#69853) (#69875)
1 parent 33219c4 commit ac9e1e6

File tree

4 files changed

+16
-6
lines changed

4 files changed

+16
-6
lines changed

qa/multi-cluster-search/src/test/resources/rest-api-spec/test/multi_cluster/30_field_caps.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,19 @@
7373
- match: {fields.number.double.searchable: true}
7474
- match: {fields.number.double.aggregatable: true}
7575

76+
# make sure runtime_mappings section gets propagated
77+
- do:
78+
field_caps:
79+
index: 'my_remote_cluster:field_caps_index_1'
80+
fields: [number]
81+
body:
82+
runtime_mappings:
83+
number:
84+
type: keyword
85+
- match: {fields.number.keyword.searchable: true}
86+
- match: {fields.number.keyword.aggregatable: true}
87+
- match: {fields.number.keyword.type: keyword}
88+
7689
---
7790
"Get field caps from remote cluster with index filter":
7891
- skip:

server/src/main/java/org/elasticsearch/action/fieldcaps/FieldCapabilitiesIndexRequest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public class FieldCapabilitiesIndexRequest extends ActionRequest implements Indi
3333
private final OriginalIndices originalIndices;
3434
private final QueryBuilder indexFilter;
3535
private final long nowInMillis;
36-
private Map<String, Object> runtimeFields;
36+
private final Map<String, Object> runtimeFields;
3737

3838
private ShardId shardId;
3939

server/src/main/java/org/elasticsearch/action/fieldcaps/FieldCapabilitiesRequest.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,7 @@ public FieldCapabilitiesRequest(StreamInput in) throws IOException {
4848
indices = in.readStringArray();
4949
indicesOptions = IndicesOptions.readIndicesOptions(in);
5050
mergeResults = in.readBoolean();
51-
if (in.getVersion().onOrAfter(Version.V_7_2_0)) {
52-
includeUnmapped = in.readBoolean();
53-
} else {
54-
includeUnmapped = false;
55-
}
51+
includeUnmapped = in.getVersion().onOrAfter(Version.V_7_2_0) ? in.readBoolean() : false;
5652
indexFilter = in.getVersion().onOrAfter(Version.V_7_9_0) ? in.readOptionalNamedWriteable(QueryBuilder.class) : null;
5753
nowInMillis = in.getVersion().onOrAfter(Version.V_7_9_0) ? in.readOptionalLong() : null;
5854
runtimeFields = in.getVersion().onOrAfter(Version.V_7_12_0) ? in.readMap() : Collections.emptyMap();

server/src/main/java/org/elasticsearch/action/fieldcaps/TransportFieldCapabilitiesAction.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@ public void onFailure(Exception e) {
115115
remoteRequest.indicesOptions(originalIndices.indicesOptions());
116116
remoteRequest.indices(originalIndices.indices());
117117
remoteRequest.fields(request.fields());
118+
remoteRequest.runtimeFields(request.runtimeFields());
118119
remoteRequest.indexFilter(request.indexFilter());
119120
remoteRequest.nowInMillis(nowInMillis);
120121
remoteClusterClient.fieldCaps(remoteRequest, ActionListener.wrap(response -> {

0 commit comments

Comments
 (0)