Skip to content

Commit

Permalink
[Remove] LegacyESVersion.V_7_4_* and V_7_5_* constants
Browse files Browse the repository at this point in the history
Removes all usages of LegacyESVersion.V_7_4_ and LegacyESVersion.V_7_5
version constants along with ancient API logic.

Signed-off-by: Nicholas Walter Knize <nknize@apache.org>
  • Loading branch information
nknize committed Oct 7, 2022
1 parent 4ffda01 commit d5ca7f8
Show file tree
Hide file tree
Showing 37 changed files with 63 additions and 709 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -181,18 +181,7 @@ public void testAutoIdWithOpTypeCreate() throws IOException {
}
}

if (minNodeVersion.before(LegacyESVersion.V_7_5_0)) {
ResponseException e = expectThrows(ResponseException.class, () -> client().performRequest(bulk));
assertEquals(400, e.getResponse().getStatusLine().getStatusCode());
assertThat(e.getMessage(),
// if request goes to 7.5+ node
either(containsString("optype create not supported for indexing requests without explicit id until"))
// if request goes to < 7.5 node
.or(containsString("an id must be provided if version type or value are set")
));
} else {
client().performRequest(bulk);
}
client().performRequest(bulk);
break;
case UPGRADED:
client().performRequest(bulk);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@

import org.opensearch.Version;
import org.opensearch.action.ActionFuture;
import org.opensearch.action.admin.cluster.snapshots.create.CreateSnapshotRequest;
import org.opensearch.action.admin.cluster.snapshots.create.CreateSnapshotResponse;
import org.opensearch.action.admin.cluster.snapshots.get.GetSnapshotsResponse;
import org.opensearch.action.admin.cluster.snapshots.restore.RestoreSnapshotResponse;
Expand All @@ -47,7 +46,6 @@
import org.opensearch.action.admin.indices.stats.ShardStats;
import org.opensearch.action.index.IndexRequestBuilder;
import org.opensearch.action.support.ActiveShardCount;
import org.opensearch.action.support.PlainActionFuture;
import org.opensearch.action.support.master.AcknowledgedResponse;
import org.opensearch.client.Client;
import org.opensearch.client.node.NodeClient;
Expand Down Expand Up @@ -1386,44 +1384,6 @@ public void testPartialSnapshotAllShardsMissing() throws Exception {
assertThat(createSnapshotResponse.getSnapshotInfo().state(), is(SnapshotState.PARTIAL));
}

/**
* Tests for the legacy snapshot path that is normally executed if the cluster contains any nodes older than
* {@link SnapshotsService#NO_REPO_INITIALIZE_VERSION}.
* Makes sure that blocking as well as non-blocking snapshot create paths execute cleanly as well as that error handling works out
* correctly by testing a snapshot name collision.
*/
public void testCreateSnapshotLegacyPath() throws Exception {
final String clusterManagerNode = internalCluster().startClusterManagerOnlyNode();
internalCluster().startDataOnlyNode();
final String repoName = "test-repo";
createRepository(repoName, "fs");
createIndex("some-index");

final SnapshotsService snapshotsService = internalCluster().getClusterManagerNodeInstance(SnapshotsService.class);
final Snapshot snapshot1 = PlainActionFuture.get(
f -> snapshotsService.createSnapshotLegacy(new CreateSnapshotRequest(repoName, "snap-1"), f)
);
awaitNoMoreRunningOperations(clusterManagerNode);

final InvalidSnapshotNameException sne = expectThrows(
InvalidSnapshotNameException.class,
() -> PlainActionFuture.<SnapshotInfo, Exception>get(
f -> snapshotsService.executeSnapshotLegacy(new CreateSnapshotRequest(repoName, snapshot1.getSnapshotId().getName()), f)
)
);

assertThat(sne.getMessage(), containsString("snapshot with the same name already exists"));
final SnapshotInfo snapshot2 = PlainActionFuture.get(
f -> snapshotsService.executeSnapshotLegacy(new CreateSnapshotRequest(repoName, "snap-2"), f)
);
assertThat(snapshot2.state(), is(SnapshotState.SUCCESS));

final SnapshotInfo snapshot3 = PlainActionFuture.get(
f -> snapshotsService.executeSnapshotLegacy(new CreateSnapshotRequest(repoName, "snap-3").indices("does-not-exist-*"), f)
);
assertThat(snapshot3.state(), is(SnapshotState.SUCCESS));
}

public void testSnapshotDeleteRelocatingPrimaryIndex() throws Exception {
internalCluster().startClusterManagerOnlyNode();
final List<String> dataNodes = internalCluster().startDataOnlyNodes(2);
Expand Down
6 changes: 0 additions & 6 deletions server/src/main/java/org/opensearch/LegacyESVersion.java
Original file line number Diff line number Diff line change
Expand Up @@ -57,12 +57,6 @@ public class LegacyESVersion extends Version {
public static final LegacyESVersion V_7_3_0 = new LegacyESVersion(7030099, org.apache.lucene.util.Version.LUCENE_8_1_0);
public static final LegacyESVersion V_7_3_1 = new LegacyESVersion(7030199, org.apache.lucene.util.Version.LUCENE_8_1_0);
public static final LegacyESVersion V_7_3_2 = new LegacyESVersion(7030299, org.apache.lucene.util.Version.LUCENE_8_1_0);
public static final LegacyESVersion V_7_4_0 = new LegacyESVersion(7040099, org.apache.lucene.util.Version.LUCENE_8_2_0);
public static final LegacyESVersion V_7_4_1 = new LegacyESVersion(7040199, org.apache.lucene.util.Version.LUCENE_8_2_0);
public static final LegacyESVersion V_7_4_2 = new LegacyESVersion(7040299, org.apache.lucene.util.Version.LUCENE_8_2_0);
public static final LegacyESVersion V_7_5_0 = new LegacyESVersion(7050099, org.apache.lucene.util.Version.LUCENE_8_3_0);
public static final LegacyESVersion V_7_5_1 = new LegacyESVersion(7050199, org.apache.lucene.util.Version.LUCENE_8_3_0);
public static final LegacyESVersion V_7_5_2 = new LegacyESVersion(7050299, org.apache.lucene.util.Version.LUCENE_8_3_0);
public static final LegacyESVersion V_7_6_0 = new LegacyESVersion(7060099, org.apache.lucene.util.Version.LUCENE_8_4_0);
public static final LegacyESVersion V_7_6_1 = new LegacyESVersion(7060199, org.apache.lucene.util.Version.LUCENE_8_4_0);
public static final LegacyESVersion V_7_6_2 = new LegacyESVersion(7060299, org.apache.lucene.util.Version.LUCENE_8_4_0);
Expand Down
9 changes: 2 additions & 7 deletions server/src/main/java/org/opensearch/OpenSearchException.java
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@
import org.opensearch.index.Index;
import org.opensearch.index.shard.ShardId;
import org.opensearch.rest.RestStatus;
import org.opensearch.search.SearchException;
import org.opensearch.search.aggregations.MultiBucketConsumerService;
import org.opensearch.transport.TcpTransport;

Expand Down Expand Up @@ -317,10 +316,6 @@ public void writeTo(StreamOutput out) throws IOException {
public static OpenSearchException readException(StreamInput input, int id) throws IOException {
CheckedFunction<StreamInput, ? extends OpenSearchException, IOException> opensearchException = ID_TO_SUPPLIER.get(id);
if (opensearchException == null) {
if (id == 127 && input.getVersion().before(LegacyESVersion.V_7_5_0)) {
// was SearchContextException
return new SearchException(input);
}
throw new IllegalStateException("unknown exception for id: " + id);
}
return opensearchException.apply(input);
Expand Down Expand Up @@ -1571,13 +1566,13 @@ private enum OpenSearchExceptionHandle {
org.opensearch.index.seqno.RetentionLeaseInvalidRetainingSeqNoException.class,
org.opensearch.index.seqno.RetentionLeaseInvalidRetainingSeqNoException::new,
156,
LegacyESVersion.V_7_5_0
UNKNOWN_VERSION_ADDED
),
INGEST_PROCESSOR_EXCEPTION(
org.opensearch.ingest.IngestProcessorException.class,
org.opensearch.ingest.IngestProcessorException::new,
157,
LegacyESVersion.V_7_5_0
UNKNOWN_VERSION_ADDED
),
PEER_RECOVERY_NOT_FOUND_EXCEPTION(
org.opensearch.indices.recovery.PeerRecoveryNotFound.class,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,16 +114,14 @@ boolean hasPassword() {
@Override
public void writeTo(StreamOutput out) throws IOException {
super.writeTo(out);
if (out.getVersion().onOrAfter(LegacyESVersion.V_7_4_0)) {
if (this.secureSettingsPassword == null) {
out.writeOptionalBytesReference(null);
} else {
final byte[] passwordBytes = CharArrays.toUtf8Bytes(this.secureSettingsPassword.getChars());
try {
out.writeOptionalBytesReference(new BytesArray(passwordBytes));
} finally {
Arrays.fill(passwordBytes, (byte) 0);
}
if (this.secureSettingsPassword == null) {
out.writeOptionalBytesReference(null);
} else {
final byte[] passwordBytes = CharArrays.toUtf8Bytes(this.secureSettingsPassword.getChars());
try {
out.writeOptionalBytesReference(new BytesArray(passwordBytes));
} finally {
Arrays.fill(passwordBytes, (byte) 0);
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,6 @@
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.message.ParameterizedMessage;
import org.opensearch.LegacyESVersion;
import org.opensearch.Version;
import org.opensearch.action.ActionListener;
import org.opensearch.action.ActionRunnable;
import org.opensearch.action.StepListener;
Expand Down Expand Up @@ -91,8 +89,6 @@ public final class TransportCleanupRepositoryAction extends TransportClusterMana

private static final Logger logger = LogManager.getLogger(TransportCleanupRepositoryAction.class);

private static final Version MIN_VERSION = LegacyESVersion.V_7_4_0;

private final RepositoriesService repositoriesService;

private final SnapshotsService snapshotsService;
Expand Down Expand Up @@ -179,17 +175,7 @@ protected void clusterManagerOperation(
ClusterState state,
ActionListener<CleanupRepositoryResponse> listener
) {
if (state.nodes().getMinNodeVersion().onOrAfter(MIN_VERSION)) {
cleanupRepo(request.name(), ActionListener.map(listener, CleanupRepositoryResponse::new));
} else {
throw new IllegalArgumentException(
"Repository cleanup is only supported from version ["
+ MIN_VERSION
+ "] but the oldest node version in the cluster is ["
+ state.nodes().getMinNodeVersion()
+ ']'
);
}
cleanupRepo(request.name(), ActionListener.map(listener, CleanupRepositoryResponse::new));
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -103,18 +103,10 @@ protected void clusterManagerOperation(
ClusterState state,
final ActionListener<CreateSnapshotResponse> listener
) {
if (state.nodes().getMinNodeVersion().before(SnapshotsService.NO_REPO_INITIALIZE_VERSION)) {
if (request.waitForCompletion()) {
snapshotsService.executeSnapshotLegacy(request, ActionListener.map(listener, CreateSnapshotResponse::new));
} else {
snapshotsService.createSnapshotLegacy(request, ActionListener.map(listener, snapshot -> new CreateSnapshotResponse()));
}
if (request.waitForCompletion()) {
snapshotsService.executeSnapshot(request, ActionListener.map(listener, CreateSnapshotResponse::new));
} else {
if (request.waitForCompletion()) {
snapshotsService.executeSnapshot(request, ActionListener.map(listener, CreateSnapshotResponse::new));
} else {
snapshotsService.createSnapshot(request, ActionListener.map(listener, snapshot -> new CreateSnapshotResponse()));
}
snapshotsService.createSnapshot(request, ActionListener.map(listener, snapshot -> new CreateSnapshotResponse()));
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@

package org.opensearch.action.admin.cluster.snapshots.status;

import org.opensearch.LegacyESVersion;
import org.opensearch.cluster.SnapshotsInProgress;
import org.opensearch.cluster.SnapshotsInProgress.State;
import org.opensearch.common.Nullable;
Expand Down Expand Up @@ -92,15 +91,8 @@ public class SnapshotStatus implements ToXContentObject, Writeable {
state = State.fromValue(in.readByte());
shards = Collections.unmodifiableList(in.readList(SnapshotIndexShardStatus::new));
includeGlobalState = in.readOptionalBoolean();
final long startTime;
final long time;
if (in.getVersion().onOrAfter(LegacyESVersion.V_7_4_0)) {
startTime = in.readLong();
time = in.readLong();
} else {
startTime = 0L;
time = 0L;
}
final long startTime = in.readLong();
final long time = in.readLong();
updateShardStats(startTime, time);
}

Expand Down Expand Up @@ -207,10 +199,8 @@ public void writeTo(StreamOutput out) throws IOException {
out.writeByte(state.value());
out.writeList(shards);
out.writeOptionalBoolean(includeGlobalState);
if (out.getVersion().onOrAfter(LegacyESVersion.V_7_4_0)) {
out.writeLong(stats.getStartTime());
out.writeLong(stats.getTime());
}
out.writeLong(stats.getStartTime());
out.writeLong(stats.getTime());
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@

import com.carrotsearch.hppc.cursors.IntObjectCursor;
import com.carrotsearch.hppc.cursors.ObjectObjectCursor;
import org.opensearch.LegacyESVersion;
import org.opensearch.OpenSearchException;
import org.opensearch.action.ActionResponse;
import org.opensearch.action.support.DefaultShardOperationFailedException;
Expand Down Expand Up @@ -247,13 +246,8 @@ public Failure(String nodeId, String index, int shardId, Throwable reason) {
}

private Failure(StreamInput in) throws IOException {
if (in.getVersion().before(LegacyESVersion.V_7_4_0)) {
nodeId = in.readString();
}
readFrom(in, this);
if (in.getVersion().onOrAfter(LegacyESVersion.V_7_4_0)) {
nodeId = in.readString();
}
nodeId = in.readString();
}

public String nodeId() {
Expand All @@ -266,13 +260,8 @@ static Failure readFailure(StreamInput in) throws IOException {

@Override
public void writeTo(StreamOutput out) throws IOException {
if (out.getVersion().before(LegacyESVersion.V_7_4_0)) {
out.writeString(nodeId);
}
super.writeTo(out);
if (out.getVersion().onOrAfter(LegacyESVersion.V_7_4_0)) {
out.writeString(nodeId);
}
out.writeString(nodeId);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@

package org.opensearch.action.admin.indices.shrink;

import org.opensearch.LegacyESVersion;
import org.opensearch.action.ActionRequestValidationException;
import org.opensearch.action.IndicesRequest;
import org.opensearch.action.admin.indices.alias.Alias;
Expand Down Expand Up @@ -122,9 +121,6 @@ public void writeTo(StreamOutput out) throws IOException {
super.writeTo(out);
targetIndexRequest.writeTo(out);
out.writeString(sourceIndex);
if (type == ResizeType.CLONE && out.getVersion().before(LegacyESVersion.V_7_4_0)) {
throw new IllegalArgumentException("can't send clone request to a node that's older than " + LegacyESVersion.V_7_4_0);
}
out.writeEnum(type);
out.writeOptionalBoolean(copySettings);
}
Expand Down
18 changes: 5 additions & 13 deletions server/src/main/java/org/opensearch/action/index/IndexRequest.java
Original file line number Diff line number Diff line change
Expand Up @@ -156,12 +156,8 @@ public IndexRequest(@Nullable ShardId shardId, StreamInput in) throws IOExceptio
version = in.readLong();
versionType = VersionType.fromValue(in.readByte());
pipeline = in.readOptionalString();
if (in.getVersion().onOrAfter(LegacyESVersion.V_7_5_0)) {
finalPipeline = in.readOptionalString();
}
if (in.getVersion().onOrAfter(LegacyESVersion.V_7_5_0)) {
isPipelineResolved = in.readBoolean();
}
finalPipeline = in.readOptionalString();
isPipelineResolved = in.readBoolean();
isRetry = in.readBoolean();
autoGeneratedTimestamp = in.readLong();
if (in.readBoolean()) {
Expand Down Expand Up @@ -642,7 +638,7 @@ public void resolveRouting(Metadata metadata) {
}

public void checkAutoIdWithOpTypeCreateSupportedByVersion(Version version) {
if (id == null && opType == OpType.CREATE && version.before(LegacyESVersion.V_7_5_0)) {
if (id == null && opType == OpType.CREATE && version.before(LegacyESVersion.fromId(7050099))) {
throw new IllegalArgumentException(
"optype create not supported for indexing requests without explicit id until all nodes " + "are on version 7.5.0 or higher"
);
Expand Down Expand Up @@ -677,12 +673,8 @@ private void writeBody(StreamOutput out) throws IOException {
out.writeLong(version);
out.writeByte(versionType.getValue());
out.writeOptionalString(pipeline);
if (out.getVersion().onOrAfter(LegacyESVersion.V_7_5_0)) {
out.writeOptionalString(finalPipeline);
}
if (out.getVersion().onOrAfter(LegacyESVersion.V_7_5_0)) {
out.writeBoolean(isPipelineResolved);
}
out.writeOptionalString(finalPipeline);
out.writeBoolean(isPipelineResolved);
out.writeBoolean(isRetry);
out.writeLong(autoGeneratedTimestamp);
if (contentType != null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@

package org.opensearch.action.ingest;

import org.opensearch.LegacyESVersion;
import org.opensearch.OpenSearchException;
import org.opensearch.common.ParseField;
import org.opensearch.common.io.stream.StreamInput;
Expand Down Expand Up @@ -94,34 +93,14 @@ public SimulateDocumentBaseResult(Exception failure) {
* Read from a stream.
*/
public SimulateDocumentBaseResult(StreamInput in) throws IOException {
if (in.getVersion().onOrAfter(LegacyESVersion.V_7_4_0)) {
failure = in.readException();
ingestDocument = in.readOptionalWriteable(WriteableIngestDocument::new);
} else {
if (in.readBoolean()) {
ingestDocument = null;
failure = in.readException();
} else {
ingestDocument = new WriteableIngestDocument(in);
failure = null;
}
}
failure = in.readException();
ingestDocument = in.readOptionalWriteable(WriteableIngestDocument::new);
}

@Override
public void writeTo(StreamOutput out) throws IOException {
if (out.getVersion().onOrAfter(LegacyESVersion.V_7_4_0)) {
out.writeException(failure);
out.writeOptionalWriteable(ingestDocument);
} else {
if (failure == null) {
out.writeBoolean(false);
ingestDocument.writeTo(out);
} else {
out.writeBoolean(true);
out.writeException(failure);
}
}
out.writeException(failure);
out.writeOptionalWriteable(ingestDocument);
}

public IngestDocument getIngestDocument() {
Expand Down
Loading

0 comments on commit d5ca7f8

Please sign in to comment.