Adjust BWC version on mapping version

The introduction of mapping version on index metadata has been
backported to 6.x. This commit adjusts the BWC version around mapping
version to account for this backport.
This commit is contained in:
Jason Tedor 2018-08-27 12:27:23 -04:00
parent 5d9c270608
commit 318df2a107
No known key found for this signature in database
GPG Key ID: FA89F05560F16BC5
2 changed files with 7 additions and 7 deletions

View File

@ -684,7 +684,7 @@ public class IndexMetaData implements Diffable<IndexMetaData>, ToXContentFragmen
index = in.readString(); index = in.readString();
routingNumShards = in.readInt(); routingNumShards = in.readInt();
version = in.readLong(); version = in.readLong();
if (in.getVersion().onOrAfter(Version.V_7_0_0_alpha1)) { if (in.getVersion().onOrAfter(Version.V_6_5_0)) {
mappingVersion = in.readVLong(); mappingVersion = in.readVLong();
} else { } else {
mappingVersion = 1; mappingVersion = 1;
@ -724,7 +724,7 @@ public class IndexMetaData implements Diffable<IndexMetaData>, ToXContentFragmen
out.writeString(index); out.writeString(index);
out.writeInt(routingNumShards); out.writeInt(routingNumShards);
out.writeLong(version); out.writeLong(version);
if (out.getVersion().onOrAfter(Version.V_7_0_0_alpha1)) { if (out.getVersion().onOrAfter(Version.V_6_5_0)) {
out.writeVLong(mappingVersion); out.writeVLong(mappingVersion);
} }
out.writeByte(state.id); out.writeByte(state.id);
@ -760,7 +760,7 @@ public class IndexMetaData implements Diffable<IndexMetaData>, ToXContentFragmen
public static IndexMetaData readFrom(StreamInput in) throws IOException { public static IndexMetaData readFrom(StreamInput in) throws IOException {
Builder builder = new Builder(in.readString()); Builder builder = new Builder(in.readString());
builder.version(in.readLong()); builder.version(in.readLong());
if (in.getVersion().onOrAfter(Version.V_7_0_0_alpha1)) { if (in.getVersion().onOrAfter(Version.V_6_5_0)) {
builder.mappingVersion(in.readVLong()); builder.mappingVersion(in.readVLong());
} else { } else {
builder.mappingVersion(1); builder.mappingVersion(1);
@ -804,7 +804,7 @@ public class IndexMetaData implements Diffable<IndexMetaData>, ToXContentFragmen
public void writeTo(StreamOutput out) throws IOException { public void writeTo(StreamOutput out) throws IOException {
out.writeString(index.getName()); // uuid will come as part of settings out.writeString(index.getName()); // uuid will come as part of settings
out.writeLong(version); out.writeLong(version);
if (out.getVersion().onOrAfter(Version.V_7_0_0_alpha1)) { if (out.getVersion().onOrAfter(Version.V_6_5_0)) {
out.writeVLong(mappingVersion); out.writeVLong(mappingVersion);
} }
out.writeInt(routingNumShards); out.writeInt(routingNumShards);
@ -1370,8 +1370,8 @@ public class IndexMetaData implements Diffable<IndexMetaData>, ToXContentFragmen
throw new IllegalArgumentException("Unexpected token " + token); throw new IllegalArgumentException("Unexpected token " + token);
} }
} }
if (Assertions.ENABLED && Version.indexCreated(builder.settings).onOrAfter(Version.V_7_0_0_alpha1)) { if (Assertions.ENABLED && Version.indexCreated(builder.settings).onOrAfter(Version.V_6_5_0)) {
assert mappingVersion : "mapping version should be present for indices created on or after 7.0.0"; assert mappingVersion : "mapping version should be present for indices created on or after 6.5.0";
} }
return builder.build(); return builder.build();
} }

View File

@ -249,7 +249,7 @@ public class MapperService extends AbstractIndexComponent implements Closeable {
final Map<String, DocumentMapper> updatedEntries) { final Map<String, DocumentMapper> updatedEntries) {
if (Assertions.ENABLED if (Assertions.ENABLED
&& currentIndexMetaData != null && currentIndexMetaData != null
&& currentIndexMetaData.getCreationVersion().onOrAfter(Version.V_7_0_0_alpha1)) { && currentIndexMetaData.getCreationVersion().onOrAfter(Version.V_6_5_0)) {
if (currentIndexMetaData.getMappingVersion() == newIndexMetaData.getMappingVersion()) { if (currentIndexMetaData.getMappingVersion() == newIndexMetaData.getMappingVersion()) {
// if the mapping version is unchanged, then there should not be any updates and all mappings should be the same // if the mapping version is unchanged, then there should not be any updates and all mappings should be the same
assert updatedEntries.isEmpty() : updatedEntries; assert updatedEntries.isEmpty() : updatedEntries;