SOLR-10340: Use the right set-listener command in AutoScalingHandlerTest

SOLR-10339: Use boolean value in json for enabled attribute
This commit is contained in:
Shalin Shekhar Mangar 2017-04-28 12:02:44 +05:30
parent dae9201993
commit bb4eb1c2a5
5 changed files with 26 additions and 14 deletions

View File

@ -47,6 +47,9 @@ public class NodeAddedTrigger implements AutoScaling.Trigger<NodeAddedTrigger.No
private final CoreContainer container;
private final List<TriggerAction> actions;
private final AtomicReference<AutoScaling.TriggerListener<NodeAddedEvent>> listenerRef;
private final boolean enabled;
private final int waitForSecond;
private final AutoScaling.EventType eventType;
private boolean isClosed = false;
@ -71,6 +74,9 @@ public class NodeAddedTrigger implements AutoScaling.Trigger<NodeAddedTrigger.No
} else {
actions = Collections.emptyList();
}
this.enabled = (boolean) properties.getOrDefault("enabled", true);
this.waitForSecond = ((Long) properties.getOrDefault("waitFor", -1L)).intValue();
this.eventType = AutoScaling.EventType.valueOf(properties.get("event").toString().toUpperCase(Locale.ROOT));
}
@Override
@ -90,17 +96,17 @@ public class NodeAddedTrigger implements AutoScaling.Trigger<NodeAddedTrigger.No
@Override
public AutoScaling.EventType getEventType() {
return AutoScaling.EventType.valueOf(properties.get("event").toString().toUpperCase(Locale.ROOT));
return eventType;
}
@Override
public boolean isEnabled() {
return Boolean.parseBoolean((String) properties.getOrDefault("enabled", "true"));
return enabled;
}
@Override
public int getWaitForSecond() {
return ((Long) properties.getOrDefault("waitFor", -1L)).intValue();
return waitForSecond;
}
@Override

View File

@ -48,6 +48,9 @@ public class NodeLostTrigger implements AutoScaling.Trigger<NodeLostTrigger.Node
private final CoreContainer container;
private final List<TriggerAction> actions;
private final AtomicReference<AutoScaling.TriggerListener<NodeLostEvent>> listenerRef;
private final boolean enabled;
private final int waitForSecond;
private final AutoScaling.EventType eventType;
private boolean isClosed = false;
@ -74,6 +77,9 @@ public class NodeLostTrigger implements AutoScaling.Trigger<NodeLostTrigger.Node
}
lastLiveNodes = container.getZkController().getZkStateReader().getClusterState().getLiveNodes();
log.info("Initial livenodes: " + lastLiveNodes);
this.enabled = (boolean) properties.getOrDefault("enabled", true);
this.waitForSecond = ((Long) properties.getOrDefault("waitFor", -1L)).intValue();
this.eventType = AutoScaling.EventType.valueOf(properties.get("event").toString().toUpperCase(Locale.ROOT));
}
@Override
@ -93,17 +99,17 @@ public class NodeLostTrigger implements AutoScaling.Trigger<NodeLostTrigger.Node
@Override
public AutoScaling.EventType getEventType() {
return AutoScaling.EventType.valueOf(properties.get("event").toString().toUpperCase(Locale.ROOT));
return eventType;
}
@Override
public boolean isEnabled() {
return Boolean.parseBoolean((String) properties.getOrDefault("enabled", "true"));
return enabled;
}
@Override
public int getWaitForSecond() {
return ((Long) properties.getOrDefault("waitFor", -1L)).intValue();
return waitForSecond;
}
@Override

View File

@ -72,7 +72,7 @@ public class AutoScalingHandlerTest extends SolrCloudTestCase {
"'name' : 'node_lost_trigger'," +
"'event' : 'nodeLost'," +
"'waitFor' : '10m'," +
"'enabled' : 'true'}}";
"'enabled' : true}}";
SolrRequest req = new AutoScalingRequest(SolrRequest.METHOD.POST, path, setTriggerCommand);
NamedList<Object> response = solrClient.request(req);
assertEquals(response.get("result").toString(), "success");
@ -82,7 +82,7 @@ public class AutoScalingHandlerTest extends SolrCloudTestCase {
"'name' : 'node_added_trigger'," +
"'event' : 'nodeAdded'," +
"'waitFor' : '10m'," +
"'enabled' : 'true'" +
"'enabled' : true" +
"}" +
"}";
req = new AutoScalingRequest(SolrRequest.METHOD.POST, path, setTriggerCommand);
@ -203,7 +203,7 @@ public class AutoScalingHandlerTest extends SolrCloudTestCase {
"'name' : 'node_lost_trigger'," +
"'event' : 'nodeLost'," +
"'waitFor' : '10m'," +
"'enabled' : 'true'," +
"'enabled' : true," +
"'actions' : [" +
"{" +
"'name' : 'compute_plan'," +
@ -237,7 +237,7 @@ public class AutoScalingHandlerTest extends SolrCloudTestCase {
"'name' : 'node_lost_trigger'," +
"'event' : 'nodeLost'," +
"'waitFor' : '20m'," +
"'enabled' : 'false'" +
"'enabled' : false" +
"}}";
req = new AutoScalingRequest(SolrRequest.METHOD.POST, path, setTriggerCommand);
response = solrClient.request(req);
@ -331,7 +331,7 @@ public class AutoScalingHandlerTest extends SolrCloudTestCase {
"'url' : 'http://xyz.com/on_node_lost?node={$LOST_NODE_NAME}'" +
"}" +
"}";
req = new AutoScalingRequest(SolrRequest.METHOD.POST, path, removeListenerCommand);
req = new AutoScalingRequest(SolrRequest.METHOD.POST, path, setListenerCommand);
try {
response = solrClient.request(req);
fail("Adding a listener on a non-existent trigger should have failed");
@ -339,7 +339,7 @@ public class AutoScalingHandlerTest extends SolrCloudTestCase {
// expected
}
// add multiple poilicies
// add multiple policies
String setPolicyCommand = "{" +
"'set-policy': {" +
"'name' : 'default'," +

View File

@ -49,7 +49,7 @@ public class NodeAddedTriggerTest extends SolrCloudTestCase {
props.put("event", "nodeLost");
long waitForSeconds = 1 + random().nextInt(5);
props.put("waitFor", waitForSeconds);
props.put("enabled", "true");
props.put("enabled", true);
List<Map<String, String>> actions = new ArrayList<>(3);
Map<String, String> map = new HashMap<>(2);
map.put("name", "compute_plan");

View File

@ -50,7 +50,7 @@ public class NodeLostTriggerTest extends SolrCloudTestCase {
props.put("event", "nodeLost");
long waitForSeconds = 1 + random().nextInt(5);
props.put("waitFor", waitForSeconds);
props.put("enabled", "true");
props.put("enabled", true);
List<Map<String, String>> actions = new ArrayList<>(3);
Map<String, String> map = new HashMap<>(2);
map.put("name", "compute_plan");