Skip to content

Commit 56948f3

Browse files
committed
Fix DerivedField serializing unsupported name field causing mapper_parsing_exception
The _common___DerivedField schema in opensearch-openapi.yaml included a required name property. This caused DerivedField.java to serialize a name key into the JSON mapping body, but the OpenSearch API does not accept name inside a derived field definition and returns: mapper_parsing_exception: unknown parameter [name] on mapper In the API, the derived field's name is expressed as the map key in the parent derived object, not as a property inside the field definition. Remove name from the _common___DerivedField schema (both from properties and required) and update the generated DerivedField.java accordingly. The Java client no longer serializes name inside derived field definitions. Fixes #1937 Signed-off-by: Radhakrishnan Pachyappan <gingeekrishna@gmail.com>
1 parent 0707347 commit 56948f3

2 files changed

Lines changed: 0 additions & 33 deletions

File tree

java-client/src/generated/java/org/opensearch/client/opensearch/_types/DerivedField.java

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,6 @@ public class DerivedField implements PlainJsonSerializable, ToCopyableBuilder<De
6868
@Nullable
6969
private final Boolean ignoreMalformed;
7070

71-
@Nonnull
72-
private final String name;
73-
7471
@Nullable
7572
private final String prefilterField;
7673

@@ -88,7 +85,6 @@ public class DerivedField implements PlainJsonSerializable, ToCopyableBuilder<De
8885
private DerivedField(Builder builder) {
8986
this.format = builder.format;
9087
this.ignoreMalformed = builder.ignoreMalformed;
91-
this.name = ApiTypeHelper.requireNonNull(builder.name, this, "name");
9288
this.prefilterField = builder.prefilterField;
9389
this.properties = ApiTypeHelper.unmodifiable(builder.properties);
9490
this.script = ApiTypeHelper.requireNonNull(builder.script, this, "script");
@@ -115,14 +111,6 @@ public final Boolean ignoreMalformed() {
115111
return this.ignoreMalformed;
116112
}
117113

118-
/**
119-
* Required - API name: {@code name}
120-
*/
121-
@Nonnull
122-
public final String name() {
123-
return this.name;
124-
}
125-
126114
/**
127115
* API name: {@code prefilter_field}
128116
*/
@@ -176,9 +164,6 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) {
176164
generator.write(this.ignoreMalformed);
177165
}
178166

179-
generator.writeKey("name");
180-
generator.write(this.name);
181-
182167
if (this.prefilterField != null) {
183168
generator.writeKey("prefilter_field");
184169
generator.write(this.prefilterField);
@@ -222,7 +207,6 @@ public static class Builder extends ObjectBuilderBase implements CopyableBuilder
222207
private String format;
223208
@Nullable
224209
private Boolean ignoreMalformed;
225-
private String name;
226210
@Nullable
227211
private String prefilterField;
228212
@Nullable
@@ -235,7 +219,6 @@ public Builder() {}
235219
private Builder(DerivedField o) {
236220
this.format = o.format;
237221
this.ignoreMalformed = o.ignoreMalformed;
238-
this.name = o.name;
239222
this.prefilterField = o.prefilterField;
240223
this.properties = _mapCopy(o.properties);
241224
this.script = o.script;
@@ -245,7 +228,6 @@ private Builder(DerivedField o) {
245228
private Builder(Builder o) {
246229
this.format = o.format;
247230
this.ignoreMalformed = o.ignoreMalformed;
248-
this.name = o.name;
249231
this.prefilterField = o.prefilterField;
250232
this.properties = _mapCopy(o.properties);
251233
this.script = o.script;
@@ -276,15 +258,6 @@ public final Builder ignoreMalformed(@Nullable Boolean value) {
276258
return this;
277259
}
278260

279-
/**
280-
* Required - API name: {@code name}
281-
*/
282-
@Nonnull
283-
public final Builder name(String value) {
284-
this.name = value;
285-
return this;
286-
}
287-
288261
/**
289262
* API name: {@code prefilter_field}
290263
*/
@@ -373,7 +346,6 @@ public DerivedField build() {
373346
protected static void setupDerivedFieldDeserializer(ObjectDeserializer<DerivedField.Builder> op) {
374347
op.add(Builder::format, JsonpDeserializer.stringDeserializer(), "format");
375348
op.add(Builder::ignoreMalformed, JsonpDeserializer.booleanDeserializer(), "ignore_malformed");
376-
op.add(Builder::name, JsonpDeserializer.stringDeserializer(), "name");
377349
op.add(Builder::prefilterField, JsonpDeserializer.stringDeserializer(), "prefilter_field");
378350
op.add(Builder::properties, JsonpDeserializer.stringMapDeserializer(JsonData._DESERIALIZER), "properties");
379351
op.add(Builder::script, Script._DESERIALIZER, "script");
@@ -385,7 +357,6 @@ public int hashCode() {
385357
int result = 17;
386358
result = 31 * result + Objects.hashCode(this.format);
387359
result = 31 * result + Objects.hashCode(this.ignoreMalformed);
388-
result = 31 * result + this.name.hashCode();
389360
result = 31 * result + Objects.hashCode(this.prefilterField);
390361
result = 31 * result + Objects.hashCode(this.properties);
391362
result = 31 * result + this.script.hashCode();
@@ -400,7 +371,6 @@ public boolean equals(Object o) {
400371
DerivedField other = (DerivedField) o;
401372
return Objects.equals(this.format, other.format)
402373
&& Objects.equals(this.ignoreMalformed, other.ignoreMalformed)
403-
&& this.name.equals(other.name)
404374
&& Objects.equals(this.prefilterField, other.prefilterField)
405375
&& Objects.equals(this.properties, other.properties)
406376
&& this.script.equals(other.script)

java-codegen/opensearch-openapi.yaml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38878,8 +38878,6 @@ components:
3887838878
_common___DerivedField:
3887938879
type: object
3888038880
properties:
38881-
name:
38882-
type: string
3888338881
type:
3888438882
type: string
3888538883
script:
@@ -38893,7 +38891,6 @@ components:
3889338891
format:
3889438892
type: string
3889538893
required:
38896-
- name
3889738894
- script
3889838895
- type
3889938896
_common___DFIIndependenceMeasure:

0 commit comments

Comments
 (0)