Fix ClusterBlock serialization and Close Index API logic after backport to 6.x (#37360)
This commit changes the versions in the serialization logic of ClusterBlock after the backport to 6.x of the Close Index API refactoring (#37359).
This commit is contained in:
parent
87f9148580
commit
6ca076bf74
|
@ -138,7 +138,7 @@ public class ClusterBlock implements Streamable, ToXContentFragment {
|
||||||
@Override
|
@Override
|
||||||
public void readFrom(StreamInput in) throws IOException {
|
public void readFrom(StreamInput in) throws IOException {
|
||||||
id = in.readVInt();
|
id = in.readVInt();
|
||||||
if (in.getVersion().onOrAfter(Version.V_7_0_0)) {
|
if (in.getVersion().onOrAfter(Version.V_6_7_0)) {
|
||||||
uuid = in.readOptionalString();
|
uuid = in.readOptionalString();
|
||||||
} else {
|
} else {
|
||||||
uuid = null;
|
uuid = null;
|
||||||
|
@ -159,7 +159,7 @@ public class ClusterBlock implements Streamable, ToXContentFragment {
|
||||||
@Override
|
@Override
|
||||||
public void writeTo(StreamOutput out) throws IOException {
|
public void writeTo(StreamOutput out) throws IOException {
|
||||||
out.writeVInt(id);
|
out.writeVInt(id);
|
||||||
if (out.getVersion().onOrAfter(Version.V_7_0_0)) {
|
if (out.getVersion().onOrAfter(Version.V_6_7_0)) {
|
||||||
out.writeOptionalString(uuid);
|
out.writeOptionalString(uuid);
|
||||||
}
|
}
|
||||||
out.writeString(description);
|
out.writeString(description);
|
||||||
|
|
|
@ -225,7 +225,7 @@ public class MetaDataIndexStateService {
|
||||||
|
|
||||||
// If the cluster is in a mixed version that does not support the shard close action,
|
// If the cluster is in a mixed version that does not support the shard close action,
|
||||||
// we use the previous way to close indices and directly close them without sanity checks
|
// we use the previous way to close indices and directly close them without sanity checks
|
||||||
final boolean useDirectClose = currentState.nodes().getMinNodeVersion().before(Version.V_7_0_0);
|
final boolean useDirectClose = currentState.nodes().getMinNodeVersion().before(Version.V_6_7_0);
|
||||||
|
|
||||||
final ClusterBlocks.Builder blocks = ClusterBlocks.builder().blocks(currentState.blocks());
|
final ClusterBlocks.Builder blocks = ClusterBlocks.builder().blocks(currentState.blocks());
|
||||||
final RoutingTable.Builder routingTable = RoutingTable.builder(currentState.routingTable());
|
final RoutingTable.Builder routingTable = RoutingTable.builder(currentState.routingTable());
|
||||||
|
|
|
@ -65,7 +65,7 @@ public class ClusterBlockTests extends ESTestCase {
|
||||||
public void testBwcSerialization() throws Exception {
|
public void testBwcSerialization() throws Exception {
|
||||||
for (int runs = 0; runs < randomIntBetween(5, 20); runs++) {
|
for (int runs = 0; runs < randomIntBetween(5, 20); runs++) {
|
||||||
// Generate a random cluster block in version < 7.0.0
|
// Generate a random cluster block in version < 7.0.0
|
||||||
final Version version = randomVersionBetween(random(), Version.V_6_0_0, getPreviousVersion(Version.V_7_0_0));
|
final Version version = randomVersionBetween(random(), Version.V_6_0_0, getPreviousVersion(Version.V_6_7_0));
|
||||||
final ClusterBlock expected = randomClusterBlock(version);
|
final ClusterBlock expected = randomClusterBlock(version);
|
||||||
assertNull(expected.uuid());
|
assertNull(expected.uuid());
|
||||||
|
|
||||||
|
@ -84,7 +84,7 @@ public class ClusterBlockTests extends ESTestCase {
|
||||||
|
|
||||||
// Serialize to node in version < 7.0.0
|
// Serialize to node in version < 7.0.0
|
||||||
final BytesStreamOutput out = new BytesStreamOutput();
|
final BytesStreamOutput out = new BytesStreamOutput();
|
||||||
out.setVersion(randomVersionBetween(random(), Version.V_6_0_0, getPreviousVersion(Version.V_7_0_0)));
|
out.setVersion(randomVersionBetween(random(), Version.V_6_0_0, getPreviousVersion(Version.V_6_7_0)));
|
||||||
expected.writeTo(out);
|
expected.writeTo(out);
|
||||||
|
|
||||||
// Deserialize and check the cluster block
|
// Deserialize and check the cluster block
|
||||||
|
@ -171,7 +171,7 @@ public class ClusterBlockTests extends ESTestCase {
|
||||||
}
|
}
|
||||||
|
|
||||||
private ClusterBlock randomClusterBlock(final Version version) {
|
private ClusterBlock randomClusterBlock(final Version version) {
|
||||||
final String uuid = (version.onOrAfter(Version.V_7_0_0) && randomBoolean()) ? UUIDs.randomBase64UUID() : null;
|
final String uuid = (version.onOrAfter(Version.V_6_7_0) && randomBoolean()) ? UUIDs.randomBase64UUID() : null;
|
||||||
final List<ClusterBlockLevel> levels = Arrays.asList(ClusterBlockLevel.values());
|
final List<ClusterBlockLevel> levels = Arrays.asList(ClusterBlockLevel.values());
|
||||||
return new ClusterBlock(randomInt(), uuid, "cluster block #" + randomInt(), randomBoolean(), randomBoolean(), randomBoolean(),
|
return new ClusterBlock(randomInt(), uuid, "cluster block #" + randomInt(), randomBoolean(), randomBoolean(), randomBoolean(),
|
||||||
randomFrom(RestStatus.values()), copyOf(randomSubsetOf(randomIntBetween(1, levels.size()), levels)));
|
randomFrom(RestStatus.values()), copyOf(randomSubsetOf(randomIntBetween(1, levels.size()), levels)));
|
||||||
|
|
Loading…
Reference in New Issue