Skip to content

Commit

Permalink
[TEST] remove action names bwc layer
Browse files Browse the repository at this point in the history
The bwc layer added with elastic#7105 is not needed in master as a full cluster restart will be required, thus from 2.0 on the only supported action names are compliant to the defined conventions and don't need to be converted to the old format
  • Loading branch information
javanna committed Dec 3, 2014
1 parent d2a2d1b commit c8b5a5c
Show file tree
Hide file tree
Showing 9 changed files with 10 additions and 618 deletions.
341 changes: 0 additions & 341 deletions src/main/java/org/elasticsearch/transport/ActionNames.java

This file was deleted.

10 changes: 2 additions & 8 deletions src/main/java/org/elasticsearch/transport/TransportService.java
Expand Up @@ -22,7 +22,6 @@
import com.google.common.collect.ImmutableMap;
import org.elasticsearch.ElasticsearchException;
import org.elasticsearch.ElasticsearchIllegalStateException;
import org.elasticsearch.Version;
import org.elasticsearch.cluster.node.DiscoveryNode;
import org.elasticsearch.common.collect.MapBuilder;
import org.elasticsearch.common.component.AbstractLifecycleComponent;
Expand Down Expand Up @@ -277,8 +276,8 @@ public void sent(long size) {
}

@Override
public TransportRequestHandler handler(String action, Version version) {
return serverHandlers.get(ActionNames.incomingAction(action, version));
public TransportRequestHandler handler(String action) {
return serverHandlers.get(action);
}

@Override
Expand Down Expand Up @@ -342,11 +341,6 @@ public void run() {
logger.debug("Rejected execution on NodeDisconnected", ex);
}
}

@Override
public String action(String action, Version version) {
return ActionNames.outgoingAction(action, version);
}
}

class TimeoutHandler implements Runnable {
Expand Down
Expand Up @@ -19,7 +19,6 @@

package org.elasticsearch.transport;

import org.elasticsearch.Version;
import org.elasticsearch.cluster.node.DiscoveryNode;

/**
Expand All @@ -31,13 +30,11 @@ public interface TransportServiceAdapter {

void sent(long size);

TransportRequestHandler handler(String action, Version version);
TransportRequestHandler handler(String action);

TransportResponseHandler remove(long requestId);

void raiseNodeConnected(DiscoveryNode node);

void raiseNodeDisconnected(DiscoveryNode node);

String action(String action, Version version);
}
Expand Up @@ -183,7 +183,7 @@ public void sendRequest(final DiscoveryNode node, final long requestId, final St
status = TransportStatus.setRequest(status);
stream.writeByte(status); // 0 for request, 1 for response.

stream.writeString(transportServiceAdapter.action(action, version));
stream.writeString(action);
request.writeTo(stream);

stream.close();
Expand Down Expand Up @@ -249,7 +249,7 @@ private void handleRequest(StreamInput stream, long requestId, LocalTransport so
final String action = stream.readString();
final LocalTransportChannel transportChannel = new LocalTransportChannel(this, sourceTransport, action, requestId, version);
try {
final TransportRequestHandler handler = transportServiceAdapter.handler(action, version);
final TransportRequestHandler handler = transportServiceAdapter.handler(action);
if (handler == null) {
throw new ActionNotFoundTransportException("Action [" + action + "] not found");
}
Expand Down
Expand Up @@ -205,7 +205,7 @@ protected String handleRequest(Channel channel, StreamInput buffer, long request

final NettyTransportChannel transportChannel = new NettyTransportChannel(transport, action, channel, requestId, version);
try {
final TransportRequestHandler handler = transportServiceAdapter.handler(action, version);
final TransportRequestHandler handler = transportServiceAdapter.handler(action);
if (handler == null) {
throw new ActionNotFoundTransportException(action);
}
Expand Down
Expand Up @@ -665,7 +665,7 @@ public void sendRequest(final DiscoveryNode node, final long requestId, final St
Version version = Version.smallest(this.version, node.version());

stream.setVersion(version);
stream.writeString(transportServiceAdapter.action(action, version));
stream.writeString(action);

ReleasableBytesReference bytes;
ChannelBuffer buffer;
Expand Down

This file was deleted.

115 changes: 2 additions & 113 deletions src/test/java/org/elasticsearch/transport/ActionNamesTests.java
Expand Up @@ -19,24 +19,11 @@

package org.elasticsearch.transport;

import com.google.common.collect.Lists;
import org.elasticsearch.Version;
import org.elasticsearch.action.admin.indices.get.GetIndexAction;
import org.elasticsearch.action.admin.cluster.repositories.verify.VerifyRepositoryAction;
import org.elasticsearch.action.bench.AbortBenchmarkAction;
import org.elasticsearch.action.bench.BenchmarkAction;
import org.elasticsearch.action.bench.BenchmarkService;
import org.elasticsearch.action.bench.BenchmarkStatusAction;
import org.elasticsearch.action.exists.ExistsAction;
import org.elasticsearch.action.termvectors.dfs.TransportDfsOnlyAction;
import org.elasticsearch.search.action.SearchServiceTransportAction;
import org.elasticsearch.repositories.VerifyNodeRepositoryAction;
import org.elasticsearch.test.ElasticsearchIntegrationTest;
import org.junit.Test;

import java.util.*;

import static org.hamcrest.CoreMatchers.*;
import static org.hamcrest.CoreMatchers.either;
import static org.hamcrest.CoreMatchers.startsWith;

public class ActionNamesTests extends ElasticsearchIntegrationTest {

Expand All @@ -52,102 +39,4 @@ public void testActionNamesCategories() throws NoSuchFieldException, IllegalAcce
.or(startsWith("internal:")));
}
}

@Test
public void testActionNamesMapping() {
TransportService transportService = internalCluster().getInstance(TransportService.class);
for (String action : transportService.serverHandlers.keySet()) {
if (post_1_4_actions.contains(action)) {
continue;
}
String pre_1_4_action = ActionNames.pre_1_4_Action(action);
assertThat("no pre 1.4 name for action " + action, pre_1_4_action, notNullValue());
String post_1_4_action = ActionNames.post_1_4_action(pre_1_4_action);
assertThat(post_1_4_action, equalTo(action));
}
}

@Test
public void testOutgoingAction() {
TransportService transportService = internalCluster().getInstance(TransportService.class);
List<String> actions = Lists.newArrayList(transportService.serverHandlers.keySet());

int iters = iterations(10, 100);
for (int i = 0; i < iters; i++) {
//we rarely use a custom action since plugins might inject their own actions
boolean customAction = rarely();
String action;
if (customAction) {
do {
action = randomAsciiOfLength(randomInt(30));
} while(actions.contains(action));
} else {
action = randomFrom(actions);
}

Version version = randomVersion();
String outgoingAction = ActionNames.outgoingAction(action, version);
if (version.onOrAfter(Version.V_1_4_0_Beta1) || customAction || post_1_4_actions.contains(action)) {
assertThat(outgoingAction, equalTo(action));
} else {
assertThat(outgoingAction, not(equalTo(action)));
assertThat(outgoingAction, equalTo(ActionNames.pre_1_4_Action(action)));
}
}
}

@Test
public void testIncomingAction() {
List<String> pre_1_4_names = Lists.newArrayList(ActionNames.ACTION_NAMES.inverse().keySet());
TransportService transportService = internalCluster().getInstance(TransportService.class);
List<String> actions = Lists.newArrayList(transportService.serverHandlers.keySet());

Version version = randomVersion();
int iters = iterations(10, 100);
for (int i = 0; i < iters; i++) {
//we rarely use a custom action since plugins might inject their own actions
boolean customAction = rarely();
String action;
if (customAction) {
do {
action = randomAsciiOfLength(randomInt(30));
} while(pre_1_4_names.contains(action));
} else {
if (version.before(Version.V_1_4_0_Beta1)) {
action = randomFrom(pre_1_4_names);
} else {
action = randomFrom(actions);
}
}

String incomingAction = ActionNames.incomingAction (action, version);
if (version.onOrAfter(Version.V_1_4_0_Beta1) || customAction) {
assertThat(incomingAction, equalTo(action));
} else {
assertThat(incomingAction, not(equalTo(action)));
assertThat(incomingAction, equalTo(ActionNames.post_1_4_action(action)));
}
}
}

private static final Set<String> post_1_4_actions = new HashSet<>();

static {
//add here new actions that don't need a mapping as they weren't available prior to 1.4
post_1_4_actions.add(BenchmarkService.STATUS_ACTION_NAME);
post_1_4_actions.add(BenchmarkService.START_ACTION_NAME);
post_1_4_actions.add(BenchmarkService.ABORT_ACTION_NAME);
post_1_4_actions.add(BenchmarkAction.NAME);
post_1_4_actions.add(BenchmarkStatusAction.NAME);
post_1_4_actions.add(AbortBenchmarkAction.NAME);
post_1_4_actions.add(ExistsAction.NAME);
post_1_4_actions.add(ExistsAction.NAME + "[s]");
post_1_4_actions.add(GetIndexAction.NAME);
post_1_4_actions.add(SearchServiceTransportAction.FREE_CONTEXT_SCROLL_ACTION_NAME);
post_1_4_actions.add(SearchServiceTransportAction.FETCH_ID_SCROLL_ACTION_NAME);
post_1_4_actions.add(VerifyRepositoryAction.NAME);
post_1_4_actions.add(VerifyNodeRepositoryAction.ACTION_NAME);
post_1_4_actions.add(TransportDfsOnlyAction.NAME);
post_1_4_actions.add(TransportDfsOnlyAction.NAME + "[s]");
}
}
Expand Up @@ -110,7 +110,7 @@ protected String handleRequest(Channel channel, StreamInput buffer, long request

final NettyTransportChannel transportChannel = new NettyTransportChannel(transport, action, channel, requestId, version);
try {
final TransportRequestHandler handler = transportServiceAdapter.handler(action, version);
final TransportRequestHandler handler = transportServiceAdapter.handler(action);
if (handler == null) {
throw new ActionNotFoundTransportException(action);
}
Expand Down

0 comments on commit c8b5a5c

Please sign in to comment.