This commit is contained in:
parent
ecfd48b6d3
commit
ef921fd157
|
@ -158,7 +158,7 @@ public class TransportVerifyShardBeforeCloseAction extends TransportReplicationA
|
|||
@Override
|
||||
public void readFrom(final StreamInput in) throws IOException {
|
||||
super.readFrom(in);
|
||||
clusterBlock = ClusterBlock.readClusterBlock(in);
|
||||
clusterBlock = new ClusterBlock(in);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -24,6 +24,7 @@ import org.elasticsearch.common.Nullable;
|
|||
import org.elasticsearch.common.io.stream.StreamInput;
|
||||
import org.elasticsearch.common.io.stream.StreamOutput;
|
||||
import org.elasticsearch.common.io.stream.Streamable;
|
||||
import org.elasticsearch.common.io.stream.Writeable;
|
||||
import org.elasticsearch.common.xcontent.ToXContentFragment;
|
||||
import org.elasticsearch.common.xcontent.XContentBuilder;
|
||||
import org.elasticsearch.rest.RestStatus;
|
||||
|
@ -34,7 +35,7 @@ import java.util.EnumSet;
|
|||
import java.util.Locale;
|
||||
import java.util.Objects;
|
||||
|
||||
public class ClusterBlock implements Streamable, ToXContentFragment {
|
||||
public class ClusterBlock implements Streamable, Writeable, ToXContentFragment {
|
||||
|
||||
private int id;
|
||||
private @Nullable String uuid;
|
||||
|
@ -45,7 +46,24 @@ public class ClusterBlock implements Streamable, ToXContentFragment {
|
|||
private boolean allowReleaseResources;
|
||||
private RestStatus status;
|
||||
|
||||
private ClusterBlock() {
|
||||
public ClusterBlock(StreamInput in) throws IOException {
|
||||
id = in.readVInt();
|
||||
if (in.getVersion().onOrAfter(Version.V_6_7_0)) {
|
||||
uuid = in.readOptionalString();
|
||||
} else {
|
||||
uuid = null;
|
||||
}
|
||||
description = in.readString();
|
||||
final int len = in.readVInt();
|
||||
ArrayList<ClusterBlockLevel> levels = new ArrayList<>(len);
|
||||
for (int i = 0; i < len; i++) {
|
||||
levels.add(in.readEnum(ClusterBlockLevel.class));
|
||||
}
|
||||
this.levels = EnumSet.copyOf(levels);
|
||||
retryable = in.readBoolean();
|
||||
disableStatePersistence = in.readBoolean();
|
||||
status = RestStatus.readFrom(in);
|
||||
allowReleaseResources = in.readBoolean();
|
||||
}
|
||||
|
||||
public ClusterBlock(int id, String description, boolean retryable, boolean disableStatePersistence,
|
||||
|
@ -129,31 +147,9 @@ public class ClusterBlock implements Streamable, ToXContentFragment {
|
|||
return builder;
|
||||
}
|
||||
|
||||
public static ClusterBlock readClusterBlock(StreamInput in) throws IOException {
|
||||
ClusterBlock block = new ClusterBlock();
|
||||
block.readFrom(in);
|
||||
return block;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readFrom(StreamInput in) throws IOException {
|
||||
id = in.readVInt();
|
||||
if (in.getVersion().onOrAfter(Version.V_6_7_0)) {
|
||||
uuid = in.readOptionalString();
|
||||
} else {
|
||||
uuid = null;
|
||||
}
|
||||
description = in.readString();
|
||||
final int len = in.readVInt();
|
||||
ArrayList<ClusterBlockLevel> levels = new ArrayList<>(len);
|
||||
for (int i = 0; i < len; i++) {
|
||||
levels.add(in.readEnum(ClusterBlockLevel.class));
|
||||
}
|
||||
this.levels = EnumSet.copyOf(levels);
|
||||
retryable = in.readBoolean();
|
||||
disableStatePersistence = in.readBoolean();
|
||||
status = RestStatus.readFrom(in);
|
||||
allowReleaseResources = in.readBoolean();
|
||||
throw new UnsupportedOperationException("usage of Streamable is to be replaced by Writeable");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -43,7 +43,7 @@ public class ClusterBlockException extends ElasticsearchException {
|
|||
int totalBlocks = in.readVInt();
|
||||
Set<ClusterBlock> blocks = new HashSet<>(totalBlocks);
|
||||
for (int i = 0; i < totalBlocks;i++) {
|
||||
blocks.add(ClusterBlock.readClusterBlock(in));
|
||||
blocks.add(new ClusterBlock(in));
|
||||
}
|
||||
this.blocks = unmodifiableSet(blocks);
|
||||
}
|
||||
|
|
|
@ -305,7 +305,7 @@ public class ClusterBlocks extends AbstractDiffable<ClusterBlocks> {
|
|||
int totalBlocks = in.readVInt();
|
||||
Set<ClusterBlock> blocks = new HashSet<>(totalBlocks);
|
||||
for (int i = 0; i < totalBlocks;i++) {
|
||||
blocks.add(ClusterBlock.readClusterBlock(in));
|
||||
blocks.add(new ClusterBlock(in));
|
||||
}
|
||||
return unmodifiableSet(blocks);
|
||||
}
|
||||
|
|
|
@ -56,7 +56,7 @@ public class ClusterBlockTests extends ESTestCase {
|
|||
|
||||
StreamInput in = out.bytes().streamInput();
|
||||
in.setVersion(version);
|
||||
ClusterBlock result = ClusterBlock.readClusterBlock(in);
|
||||
ClusterBlock result = new ClusterBlock(in);
|
||||
|
||||
assertClusterBlockEquals(clusterBlock, result);
|
||||
}
|
||||
|
@ -74,7 +74,7 @@ public class ClusterBlockTests extends ESTestCase {
|
|||
expected.writeTo(out);
|
||||
|
||||
// Deserialize and check the cluster block
|
||||
final ClusterBlock actual = ClusterBlock.readClusterBlock(out.bytes().streamInput());
|
||||
final ClusterBlock actual = new ClusterBlock(out.bytes().streamInput());
|
||||
assertClusterBlockEquals(expected, actual);
|
||||
}
|
||||
|
||||
|
@ -90,7 +90,7 @@ public class ClusterBlockTests extends ESTestCase {
|
|||
// Deserialize and check the cluster block
|
||||
final StreamInput in = out.bytes().streamInput();
|
||||
in.setVersion(out.getVersion());
|
||||
final ClusterBlock actual = ClusterBlock.readClusterBlock(in);
|
||||
final ClusterBlock actual = new ClusterBlock(in);
|
||||
|
||||
assertThat(actual.id(), equalTo(expected.id()));
|
||||
assertThat(actual.status(), equalTo(expected.status()));
|
||||
|
|
Loading…
Reference in New Issue