SOLR-12792: extract test data into separate files in autoscaling tests

This commit is contained in:
Noble Paul 2018-09-21 12:55:41 +10:00
parent d7e97fb7f8
commit 6adeb5bc44
8 changed files with 547 additions and 693 deletions

View File

@ -232,7 +232,7 @@ public class Utils {
public static Object fromJSON(InputStream is){
try {
return new ObjectBuilder(getJSONParser((new InputStreamReader(is, StandardCharsets.UTF_8)))).getObject();
return new ObjectBuilder(getJSONParser((new InputStreamReader(is, StandardCharsets.UTF_8)))).getVal();
} catch (IOException e) {
throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "Parse error", e);
}
@ -260,7 +260,7 @@ public class Utils {
public static Object fromJSONString(String json) {
try {
return new ObjectBuilder(getJSONParser(new StringReader(json))).getObject();
return new ObjectBuilder(getJSONParser(new StringReader(json))).getVal();
} catch (IOException e) {
throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "Parse error", e);
}

View File

@ -0,0 +1,52 @@
{
"liveNodes":["127.0.0.1:49221_solr",
"127.0.0.1:49210_solr"],
"suggester":{
"action":"MOVEREPLICA",
"hints":{}},
"replicaInfo":{
"127.0.0.1:49210_solr":{"testScheduledTrigger":{"shard1":[{"core_node3":{
"base_url":"http://127.0.0.1:49210/solr",
"node_name":"127.0.0.1:49210_solr",
"core":"testScheduledTrigger_shard1_replica_n1",
"state":"active",
"type":"NRT",
"INDEX.sizeInBytes":6.426125764846802E-8,
"shard":"shard1",
"collection":"testScheduledTrigger"}},
{"core_node6":{
"base_url":"http://127.0.0.1:49210/solr",
"node_name":"127.0.0.1:49210_solr",
"core":"testScheduledTrigger_shard1_replica_n4",
"state":"active",
"type":"NRT",
"INDEX.sizeInBytes":6.426125764846802E-8,
"shard":"shard1",
"collection":"testScheduledTrigger"}}]}},
"127.0.0.1:49221_solr":{"testScheduledTrigger":{"shard1":[{"core_node5":{
"core":"testScheduledTrigger_shard1_replica_n2",
"leader":"true",
"INDEX.sizeInBytes":6.426125764846802E-8,
"base_url":"http://127.0.0.1:49221/solr",
"node_name":"127.0.0.1:49221_solr",
"state":"active",
"type":"NRT",
"shard":"shard1",
"collection":"testScheduledTrigger"}}]}}},
"nodeValues":{
"127.0.0.1:49210_solr":{
"node":"127.0.0.1:49210_solr",
"cores":2,
"freedisk":197.39717864990234},
"127.0.0.1:49221_solr":{
"node":"127.0.0.1:49221_solr",
"cores":1,
"freedisk":197.39717864990234}},
"autoscalingJson":{
"cluster-preferences":[{
"minimize":"cores",
"precision":1},
{"maximize":"freedisk"}],
"cluster-policy":[{
"cores":"<3",
"node":"#EACH"}]}}

View File

@ -0,0 +1,225 @@
[{"node":"solr-01:8983_solr",
"replicas":{},
"isLive":true,
"attributes":[{"cores":2},
{"freedisk":1734.5261459350586},
{"sysLoadAvg":35.0},
{"node":"solr-01:8983_solr"}]},
{
"node":"solr-07:8983_solr",
"replicas":{},
"isLive":true,
"attributes":[{"cores":3},
{"freedisk":1721.5669250488281},
{"sysLoadAvg":10.0},
{"node":"solr-07:8983_solr"}]},
{
"node":"solr-08:8983_solr",
"isLive":true,
"attributes":[{"cores":3},
{"freedisk":1764.9518203735352},
{"sysLoadAvg":330.0},
{"node":"solr-08:8983_solr"}]},
{
"node":"solr-25:8983_solr",
"isLive":true,
"attributes":[{"cores":3},
{"freedisk":1779.7792778015137},
{"sysLoadAvg":304.0},
{"node":"solr-25:8983_solr"}]},
{
"node":"solr-15:8983_solr",
"isLive":true,
"attributes":[{"cores":3},
{"freedisk":1697.5930519104004},
{"sysLoadAvg":277.0},
{"node":"solr-15:8983_solr"}]},
{
"node":"solr-13:8983_solr",
"isLive":true,
"attributes":[{"cores":2},
{"freedisk":1755.1909484863281},
{"sysLoadAvg":265.0},
{"node":"solr-13:8983_solr"}]},
{
"node":"solr-14:8983_solr",
"isLive":true,
"attributes":[{"cores":3},
{"freedisk":1757.6035423278809},
{"sysLoadAvg":61.0},
{"node":"solr-14:8983_solr"}]},
{
"node":"solr-16:8983_solr",
"isLive":true,
"attributes":[{"cores":3},
{"freedisk":1746.081386566162},
{"sysLoadAvg":260.0},
{"node":"solr-16:8983_solr"}]},
{
"node":"solr-04:8983_solr",
"isLive":true,
"attributes":[{"cores":2},
{"freedisk":1708.7230529785156},
{"sysLoadAvg":216.0},
{"node":"solr-04:8983_solr"}]},
{
"node":"solr-06:8983_solr",
"isLive":true,
"attributes":[{"cores":3},
{"freedisk":1688.3182678222656},
{"sysLoadAvg":385.0},
{"node":"solr-06:8983_solr"}]},
{
"node":"solr-02:8983_solr",
"isLive":true,
"attributes":[{"cores":6},
{"freedisk":1778.226963043213},
{"sysLoadAvg":369.0},
{"node":"solr-02:8983_solr"}]},
{
"node":"solr-05:8983_solr",
"isLive":true,
"attributes":[{"cores":3},
{"freedisk":1741.9401931762695},
{"sysLoadAvg":354.0},
{"node":"solr-05:8983_solr"}]},
{
"node":"solr-23:8983_solr",
"isLive":true,
"attributes":[{"cores":3},
{"freedisk":1718.854579925537},
{"sysLoadAvg":329.0},
{"node":"solr-23:8983_solr"}]},
{
"node":"solr-24:8983_solr",
"isLive":true,
"attributes":[{"cores":3},
{"freedisk":1733.6669311523438},
{"sysLoadAvg":327.0},
{"node":"solr-24:8983_solr"}]},
{
"node":"solr-09:8983_solr",
"isLive":true,
"attributes":[{"cores":3},
{"freedisk":1714.6191711425781},
{"sysLoadAvg":278.0},
{"node":"solr-09:8983_solr"}]},
{
"node":"solr-10:8983_solr",
"isLive":true,
"attributes":[{"cores":3},
{"freedisk":1755.3038482666016},
{"sysLoadAvg":266.0},
{"node":"solr-10:8983_solr"}]},
{
"node":"solr-28:8983_solr",
"isLive":false,
"attributes":[{"cores":3},
{"freedisk":1691.3830909729004},
{"sysLoadAvg":261.0},
{"node":"solr-28:8983_solr"}]},
{
"node":"solr-29:8983_solr",
"isLive":true,
"attributes":[{"cores":2},
{"freedisk":1706.797966003418},
{"sysLoadAvg":252.99999999999997},
{"node":"solr-29:8983_solr"}]},
{
"node":"solr-32:8983_solr",
"isLive":true,
"attributes":[{"cores":3},
{"freedisk":1762.432300567627},
{"sysLoadAvg":221.0},
{"node":"solr-32:8983_solr"}]},
{
"node":"solr-21:8983_solr",
"isLive":true,
"attributes":[{"cores":3},
{"freedisk":1760.9801979064941},
{"sysLoadAvg":213.0},
{"node":"solr-21:8983_solr"}]},
{
"node":"solr-22:8983_solr",
"isLive":true,
"attributes":[{"cores":3},
{"freedisk":1780.5297241210938},
{"sysLoadAvg":209.0},
{"node":"solr-22:8983_solr"}]},
{
"node":"solr-31:8983_solr",
"isLive":true,
"attributes":[{"cores":3},
{"freedisk":1700.1481628417969},
{"sysLoadAvg":211.0},
{"node":"solr-31:8983_solr"}]},
{
"node":"solr-33:8983_solr",
"isLive":false,
"attributes":[{"cores":3},
{"freedisk":1748.1132926940918},
{"sysLoadAvg":199.0},
{"node":"solr-33:8983_solr"}]},
{
"node":"solr-36:8983_solr",
"isLive":true,
"attributes":[{"cores":3},
{"freedisk":1776.197639465332},
{"sysLoadAvg":193.0},
{"node":"solr-36:8983_solr"}]},
{
"node":"solr-35:8983_solr",
"isLive":true,
"attributes":[{"cores":3},
{"freedisk":1746.7729606628418},
{"sysLoadAvg":191.0},
{"node":"solr-35:8983_solr"}]},
{
"node":"solr-12:8983_solr",
"isLive":true,
"attributes":[{"cores":3},
{"freedisk":1713.287540435791},
{"sysLoadAvg":175.0},
{"node":"solr-12:8983_solr"}]},
{
"node":"solr-11:8983_solr",
"isLive":true,
"attributes":[{"cores":3},
{"freedisk":1736.784511566162},
{"sysLoadAvg":169.0},
{"node":"solr-11:8983_solr"}]},
{
"node":"solr-35:8983_solr",
"isLive":true,
"attributes":[{"cores":3},
{"freedisk":1766.9416885375977},
{"sysLoadAvg":155.0},
{"node":"solr-35:8983_solr"}]},
{
"node":"solr-17:8983_solr",
"isLive":true,
"attributes":[{"cores":3},
{"freedisk":1764.3425407409668},
{"sysLoadAvg":139.0},
{"node":"solr-17:8983_solr"}]},
{
"node":"solr-18:8983_solr",
"isLive":true,
"attributes":[{"cores":2},
{"freedisk":1757.0613975524902},
{"sysLoadAvg":132.0},
{"node":"solr-18:8983_solr"}]},
{
"node":"solr-20:8983_solr",
"isLive":false,
"attributes":[{"cores":3},
{"freedisk":1747.4205322265625},
{"sysLoadAvg":126.0},
{"node":"solr-20:8983_solr"}]},
{
"node":"solr-27:8983_solr",
"isLive":true,
"attributes":[{"cores":4},
{"freedisk":1721.0442085266113},
{"sysLoadAvg":118.0},
{"node":"solr-27:8983_solr"}]}]

View File

@ -0,0 +1,119 @@
{"diagnostics":{
"sortedNodes":[{
"node":"127.0.0.1:63191_solr",
"isLive":true,
"cores":3.0,
"sysprop.zone":"east",
"freedisk":1727.1459312438965,
"heapUsage":24.97510064011647,
"sysLoadAvg":272.75390625,
"totaldisk":1037.938980102539,
"replicas":{"zonesTest":{"shard1":[{"core_node5":{
"core":"zonesTest_shard1_replica_n2",
"leader":"true",
"base_url":"https://127.0.0.1:63191/solr",
"node_name":"127.0.0.1:63191_solr",
"state":"active",
"type":"NRT",
"force_set_state":"false",
"INDEX.sizeInGB":6.426125764846802E-8,
"shard":"shard1",
"collection":"zonesTest"}},
{"core_node7":{
"core":"zonesTest_shard1_replica_n4",
"base_url":"https://127.0.0.1:63191/solr",
"node_name":"127.0.0.1:63191_solr",
"state":"active",
"type":"NRT",
"force_set_state":"false",
"INDEX.sizeInGB":6.426125764846802E-8,
"shard":"shard1",
"collection":"zonesTest"}},
{"core_node12":{
"core":"zonesTest_shard1_replica_n10",
"base_url":"https://127.0.0.1:63191/solr",
"node_name":"127.0.0.1:63191_solr",
"state":"active",
"type":"NRT",
"force_set_state":"false",
"INDEX.sizeInGB":6.426125764846802E-8,
"shard":"shard1",
"collection":"zonesTest"}}]}}},
{
"node":"127.0.0.1:63192_solr",
"isLive":true,
"cores":3.0,
"sysprop.zone":"east",
"freedisk":1727.1459312438965,
"heapUsage":24.98878807983566,
"sysLoadAvg":272.75390625,
"totaldisk":1037.938980102539,
"replicas":{"zonesTest":{"shard2":[{"core_node3":{
"core":"zonesTest_shard1_replica_n1",
"base_url":"https://127.0.0.1:63192/solr",
"node_name":"127.0.0.1:63192_solr",
"state":"active",
"type":"NRT",
"force_set_state":"false",
"INDEX.sizeInGB":6.426125764846802E-8,
"shard":"shard2",
"collection":"zonesTest"}},
{"core_node9":{
"core":"zonesTest_shard1_replica_n6",
"base_url":"https://127.0.0.1:63192/solr",
"node_name":"127.0.0.1:63192_solr",
"state":"active",
"type":"NRT",
"force_set_state":"false",
"INDEX.sizeInGB":6.426125764846802E-8,
"shard":"shard2",
"collection":"zonesTest"}},
{"core_node11":{
"core":"zonesTest_shard1_replica_n8",
"base_url":"https://127.0.0.1:63192/solr",
"node_name":"127.0.0.1:63192_solr",
"state":"active",
"type":"NRT",
"force_set_state":"false",
"INDEX.sizeInGB":6.426125764846802E-8,
"shard":"shard2",
"collection":"zonesTest"}}]}}},
{
"node":"127.0.0.1:63219_solr",
"isLive":true,
"cores":0.0,
"sysprop.zone":"west",
"freedisk":1768.6174201965332,
"heapUsage":24.98878807983566,
"sysLoadAvg":272.75390625,
"totaldisk":1037.938980102539,
"replicas":{}},
{
"node":"127.0.0.1:63229_solr",
"isLive":true,
"cores":0.0,
"sysprop.zone":"west",
"freedisk":1768.6174201965332,
"heapUsage":24.98878807983566,
"sysLoadAvg":272.75390625,
"totaldisk":1037.938980102539,
"replicas":{}}],
"liveNodes":["127.0.0.1:63191_solr",
"127.0.0.1:63192_solr",
"127.0.0.1:63219_solr",
"127.0.0.1:63229_solr"],
"config":{
"cluster-preferences":[{
"minimize":"cores",
"precision":1},
{
"maximize":"freedisk",
"precision":100},
{
"minimize":"sysLoadAvg",
"precision":10}],
"cluster-policy":[{
"replica":"<3",
"shard":"#EACH",
"sysprop.zone":["east",
"west"]}]}}}

View File

@ -0,0 +1,69 @@
{
"liveNodes":["127.0.0.1:50417_solr",
"127.0.0.1:50418_solr",
"127.0.0.1:50419_solr",
"127.0.0.1:50420_solr",
"127.0.0.1:50443_solr"],
"suggester":{
"action":"MOVEREPLICA",
"hints":{"TARGET_NODE":["127.0.0.1:50443_solr"]}},
"replicaInfo":{
"127.0.0.1:50418_solr":{"utilizenodecoll":{"shard2":[{"core_node7":{
"core":"utilizenodecoll_shard2_replica_n4",
"leader":"true",
"INDEX.sizeInBytes":6.426125764846802E-8,
"base_url":"http://127.0.0.1:50418/solr",
"node_name":"127.0.0.1:50418_solr",
"state":"active",
"type":"NRT",
"shard":"shard2",
"collection":"utilizenodecoll"}}]}},
"127.0.0.1:50417_solr":{"utilizenodecoll":{"shard2":[{"core_node8":{
"base_url":"http://127.0.0.1:50417/solr",
"node_name":"127.0.0.1:50417_solr",
"core":"utilizenodecoll_shard2_replica_n6",
"state":"active",
"type":"NRT",
"INDEX.sizeInBytes":6.426125764846802E-8,
"shard":"shard2",
"collection":"utilizenodecoll"}}]}},
"127.0.0.1:50419_solr":{"utilizenodecoll":{"shard1":[{"core_node5":{
"base_url":"http://127.0.0.1:50419/solr",
"node_name":"127.0.0.1:50419_solr",
"core":"utilizenodecoll_shard1_replica_n2",
"state":"active",
"type":"NRT",
"INDEX.sizeInBytes":6.426125764846802E-8,
"shard":"shard1",
"collection":"utilizenodecoll"}}]}},
"127.0.0.1:50420_solr":{"utilizenodecoll":{"shard1":[{"core_node3":{
"core":"utilizenodecoll_shard1_replica_n1",
"leader":"true",
"INDEX.sizeInBytes":6.426125764846802E-8,
"base_url":"http://127.0.0.1:50420/solr",
"node_name":"127.0.0.1:50420_solr",
"state":"active",
"type":"NRT",
"shard":"shard1",
"collection":"utilizenodecoll"}}]}},
"127.0.0.1:50443_solr":{}},
"nodeValues":{
"127.0.0.1:50418_solr":{
"cores":1,
"freedisk":187.70782089233398},
"127.0.0.1:50417_solr":{
"cores":1,
"freedisk":187.70782089233398},
"127.0.0.1:50419_solr":{
"cores":1,
"freedisk":187.70782089233398},
"127.0.0.1:50420_solr":{
"cores":1,
"freedisk":187.70782089233398},
"127.0.0.1:50443_solr":{
"cores":0,
"freedisk":187.70782089233398}},
"autoscalingJson":{"cluster-preferences":[{
"minimize":"cores",
"precision":1},
{"maximize":"freedisk"}]}}

View File

@ -0,0 +1,66 @@
{
"liveNodes":["127.0.0.1:51075_solr",
"127.0.0.1:51076_solr",
"127.0.0.1:51077_solr",
"127.0.0.1:51097_solr"],
"suggester":{
"action":"MOVEREPLICA",
"hints":{"TARGET_NODE":["127.0.0.1:51097_solr"]}},
"replicaInfo":{
"127.0.0.1:51076_solr":{"utilizenodecoll":{"shard1":[{"core_node5":{
"base_url":"https://127.0.0.1:51076/solr",
"node_name":"127.0.0.1:51076_solr",
"core":"utilizenodecoll_shard1_replica_n2",
"state":"active",
"type":"NRT",
"INDEX.sizeInBytes":6.426125764846802E-8,
"shard":"shard1",
"collection":"utilizenodecoll"}}]}},
"127.0.0.1:51077_solr":{"utilizenodecoll":{
"shard2":[{"core_node8":{
"base_url":"https://127.0.0.1:51077/solr",
"node_name":"127.0.0.1:51077_solr",
"core":"utilizenodecoll_shard2_replica_n6",
"state":"active",
"type":"NRT",
"INDEX.sizeInBytes":6.426125764846802E-8,
"shard":"shard2",
"collection":"utilizenodecoll"}}],
"shard1":[{"core_node3":{
"core":"utilizenodecoll_shard1_replica_n1",
"leader":"true",
"INDEX.sizeInBytes":6.426125764846802E-8,
"base_url":"https://127.0.0.1:51077/solr",
"node_name":"127.0.0.1:51077_solr",
"state":"active",
"type":"NRT",
"shard":"shard1",
"collection":"utilizenodecoll"}}]}},
"127.0.0.1:51097_solr":{},
"127.0.0.1:51075_solr":{"utilizenodecoll":{"shard2":[{"core_node7":{
"core":"utilizenodecoll_shard2_replica_n4",
"leader":"true",
"INDEX.sizeInBytes":6.426125764846802E-8,
"base_url":"https://127.0.0.1:51075/solr",
"node_name":"127.0.0.1:51075_solr",
"state":"active",
"type":"NRT",
"shard":"shard2",
"collection":"utilizenodecoll"}}]}}},
"nodeValues":{
"127.0.0.1:51076_solr":{
"cores":1,
"freedisk":188.7262191772461},
"127.0.0.1:51077_solr":{
"cores":2,
"freedisk":188.7262191772461},
"127.0.0.1:51097_solr":{
"cores":0,
"freedisk":188.7262191772461},
"127.0.0.1:51075_solr":{
"cores":1,
"freedisk":188.7262191772461}},
"autoscalingJson":{"cluster-preferences":[{
"minimize":"cores",
"precision":1},
{"maximize":"freedisk"}]}}

View File

@ -2889,97 +2889,7 @@ public class TestPolicy extends SolrTestCaseJ4 {
}
public void testScheduledTriggerFailure() throws Exception {
String state = "{" +
" 'liveNodes': [" +
" '127.0.0.1:49221_solr'," +
" '127.0.0.1:49210_solr'" +
" ]," +
" 'suggester': {" +
" 'action': 'MOVEREPLICA'," +
" 'hints': {}" +
" }," +
" 'replicaInfo': {" +
" '127.0.0.1:49210_solr': {" +
" 'testScheduledTrigger': {" +
" 'shard1': [" +
" {" +
" 'core_node3': {" +
" 'base_url': 'http://127.0.0.1:49210/solr'," +
" 'node_name': '127.0.0.1:49210_solr'," +
" 'core': 'testScheduledTrigger_shard1_replica_n1'," +
" 'state': 'active'," +
" 'type': 'NRT'," +
" 'INDEX.sizeInBytes': 6.426125764846802E-8," +
" 'shard': 'shard1'," +
" 'collection': 'testScheduledTrigger'" +
" }" +
" }," +
" {" +
" 'core_node6': {" +
" 'base_url': 'http://127.0.0.1:49210/solr'," +
" 'node_name': '127.0.0.1:49210_solr'," +
" 'core': 'testScheduledTrigger_shard1_replica_n4'," +
" 'state': 'active'," +
" 'type': 'NRT'," +
" 'INDEX.sizeInBytes': 6.426125764846802E-8," +
" 'shard': 'shard1'," +
" 'collection': 'testScheduledTrigger'" +
" }" +
" }" +
" ]" +
" }" +
" }," +
" '127.0.0.1:49221_solr': {" +
" 'testScheduledTrigger': {" +
" 'shard1': [" +
" {" +
" 'core_node5': {" +
" 'core': 'testScheduledTrigger_shard1_replica_n2'," +
" 'leader': 'true'," +
" 'INDEX.sizeInBytes': 6.426125764846802E-8," +
" 'base_url': 'http://127.0.0.1:49221/solr'," +
" 'node_name': '127.0.0.1:49221_solr'," +
" 'state': 'active'," +
" 'type': 'NRT'," +
" 'shard': 'shard1'," +
" 'collection': 'testScheduledTrigger'" +
" }" +
" }" +
" ]" +
" }" +
" }" +
" }," +
" 'nodeValues': {" +
" '127.0.0.1:49210_solr': {" +
" 'node': '127.0.0.1:49210_solr'," +
" 'cores': 2," +
" 'freedisk': 197.39717864990234" +
" }," +
" '127.0.0.1:49221_solr': {" +
" 'node': '127.0.0.1:49221_solr'," +
" 'cores': 1," +
" 'freedisk': 197.39717864990234" +
" }" +
" }," +
" 'autoscalingJson': {" +
" 'cluster-preferences': [" +
" {" +
" 'minimize': 'cores'," +
" 'precision': 1" +
" }," +
" {" +
" 'maximize': 'freedisk'" +
" }" +
" ]," +
" 'cluster-policy': [" +
" {" +
" 'cores': '<3'," +
" 'node': '#EACH'" +
" }" +
" ]" +
" }" +
"}";
Map jsonObj = (Map) Utils.fromJSONString(state);
Map jsonObj = (Map) TestPolicy2.loadFromResource("testScheduledTriggerFailure.json");
SolrCloudManager cloudManager = createCloudManager(jsonObj);
Suggester suggester = createSuggester(cloudManager, jsonObj, null);
int count = 0;
@ -2995,118 +2905,7 @@ public class TestPolicy extends SolrTestCaseJ4 {
}
public void testUtilizeNodeFailure() throws Exception {
String state = "{'liveNodes': ['127.0.0.1:50417_solr', '127.0.0.1:50418_solr', '127.0.0.1:50419_solr', '127.0.0.1:50420_solr', '127.0.0.1:50443_solr']," +
" 'suggester': {" +
" 'action': 'MOVEREPLICA'," +
" 'hints': {'TARGET_NODE': ['127.0.0.1:50443_solr']}" +
" }," +
" 'replicaInfo': {" +
" '127.0.0.1:50418_solr': {" +
" 'utilizenodecoll': {" +
" 'shard2': [" +
" {" +
" 'core_node7': {" +
" 'core': 'utilizenodecoll_shard2_replica_n4'," +
" 'leader': 'true'," +
" 'INDEX.sizeInBytes': 6.426125764846802E-8," +
" 'base_url': 'http://127.0.0.1:50418/solr'," +
" 'node_name': '127.0.0.1:50418_solr'," +
" 'state': 'active'," +
" 'type': 'NRT'," +
" 'shard': 'shard2'," +
" 'collection': 'utilizenodecoll'" +
" }" +
" }" +
" ]" +
" }" +
" }," +
" '127.0.0.1:50417_solr': {" +
" 'utilizenodecoll': {" +
" 'shard2': [" +
" {" +
" 'core_node8': {" +
" 'base_url': 'http://127.0.0.1:50417/solr'," +
" 'node_name': '127.0.0.1:50417_solr'," +
" 'core': 'utilizenodecoll_shard2_replica_n6'," +
" 'state': 'active'," +
" 'type': 'NRT'," +
" 'INDEX.sizeInBytes': 6.426125764846802E-8," +
" 'shard': 'shard2'," +
" 'collection': 'utilizenodecoll'" +
" }" +
" }" +
" ]" +
" }" +
" }," +
" '127.0.0.1:50419_solr': {" +
" 'utilizenodecoll': {" +
" 'shard1': [" +
" {" +
" 'core_node5': {" +
" 'base_url': 'http://127.0.0.1:50419/solr'," +
" 'node_name': '127.0.0.1:50419_solr'," +
" 'core': 'utilizenodecoll_shard1_replica_n2'," +
" 'state': 'active'," +
" 'type': 'NRT'," +
" 'INDEX.sizeInBytes': 6.426125764846802E-8," +
" 'shard': 'shard1'," +
" 'collection': 'utilizenodecoll'" +
" }" +
" }" +
" ]" +
" }" +
" }," +
" '127.0.0.1:50420_solr': {" +
" 'utilizenodecoll': {" +
" 'shard1': [" +
" {" +
" 'core_node3': {" +
" 'core': 'utilizenodecoll_shard1_replica_n1'," +
" 'leader': 'true'," +
" 'INDEX.sizeInBytes': 6.426125764846802E-8," +
" 'base_url': 'http://127.0.0.1:50420/solr'," +
" 'node_name': '127.0.0.1:50420_solr'," +
" 'state': 'active'," +
" 'type': 'NRT'," +
" 'shard': 'shard1'," +
" 'collection': 'utilizenodecoll'" +
" }" +
" }" +
" ]" +
" }" +
" }," +
" '127.0.0.1:50443_solr': {}" +
" }," +
" 'nodeValues': {" +
" '127.0.0.1:50418_solr': {" +
" 'cores': 1," +
" 'freedisk': 187.70782089233398" +
" }," +
" '127.0.0.1:50417_solr': {" +
" 'cores': 1," +
" 'freedisk': 187.70782089233398" +
" }," +
" '127.0.0.1:50419_solr': {" +
" 'cores': 1," +
" 'freedisk': 187.70782089233398" +
" }," +
" '127.0.0.1:50420_solr': {" +
" 'cores': 1," +
" 'freedisk': 187.70782089233398" +
" }," +
" '127.0.0.1:50443_solr': {" +
" 'cores': 0," +
" 'freedisk': 187.70782089233398" +
" }" +
" }," +
" 'autoscalingJson': {" +
" 'cluster-preferences': [" +
" {'minimize': 'cores', 'precision': 1}," +
" {'maximize': 'freedisk'}" +
" ]" +
" }" +
"}";
Map jsonObj = (Map) Utils.fromJSONString(state);
Map jsonObj = (Map) TestPolicy2.loadFromResource("testUtilizeNodeFailure.json"); //(Map) Utils.fromJSONString(state);
SolrCloudManager cloudManager = createCloudManager(jsonObj);
Suggester suggester = createSuggester(cloudManager, jsonObj, null);
int count = 0;
@ -3122,76 +2921,7 @@ public class TestPolicy extends SolrTestCaseJ4 {
}
public void testUtilizeNodeFailure2() throws Exception {
String state = "{ 'liveNodes':[" +
" '127.0.0.1:51075_solr'," +
" '127.0.0.1:51076_solr'," +
" '127.0.0.1:51077_solr'," +
" '127.0.0.1:51097_solr']," +
" 'suggester':{" +
" 'action':'MOVEREPLICA'," +
" 'hints':{'TARGET_NODE':['127.0.0.1:51097_solr']}}," +
" 'replicaInfo':{" +
" '127.0.0.1:51076_solr':{'utilizenodecoll':{'shard1':[{'core_node5':{" +
" 'base_url':'https://127.0.0.1:51076/solr'," +
" 'node_name':'127.0.0.1:51076_solr'," +
" 'core':'utilizenodecoll_shard1_replica_n2'," +
" 'state':'active'," +
" 'type':'NRT'," +
" 'INDEX.sizeInBytes':6.426125764846802E-8," +
" 'shard':'shard1'," +
" 'collection':'utilizenodecoll'}}]}}," +
" '127.0.0.1:51077_solr':{'utilizenodecoll':{" +
" 'shard2':[{'core_node8':{" +
" 'base_url':'https://127.0.0.1:51077/solr'," +
" 'node_name':'127.0.0.1:51077_solr'," +
" 'core':'utilizenodecoll_shard2_replica_n6'," +
" 'state':'active'," +
" 'type':'NRT'," +
" 'INDEX.sizeInBytes':6.426125764846802E-8," +
" 'shard':'shard2'," +
" 'collection':'utilizenodecoll'}}]," +
" 'shard1':[{'core_node3':{" +
" 'core':'utilizenodecoll_shard1_replica_n1'," +
" 'leader':'true'," +
" 'INDEX.sizeInBytes':6.426125764846802E-8," +
" 'base_url':'https://127.0.0.1:51077/solr'," +
" 'node_name':'127.0.0.1:51077_solr'," +
" 'state':'active'," +
" 'type':'NRT'," +
" 'shard':'shard1'," +
" 'collection':'utilizenodecoll'}}]}}," +
" '127.0.0.1:51097_solr':{}," +
" '127.0.0.1:51075_solr':{'utilizenodecoll':{'shard2':[{'core_node7':{" +
" 'core':'utilizenodecoll_shard2_replica_n4'," +
" 'leader':'true'," +
" 'INDEX.sizeInBytes':6.426125764846802E-8," +
" 'base_url':'https://127.0.0.1:51075/solr'," +
" 'node_name':'127.0.0.1:51075_solr'," +
" 'state':'active'," +
" 'type':'NRT'," +
" 'shard':'shard2'," +
" 'collection':'utilizenodecoll'}}]}}}," +
" 'nodeValues':{" +
" '127.0.0.1:51076_solr':{" +
" 'cores':1," +
" 'freedisk':188.7262191772461}," +
" '127.0.0.1:51077_solr':{" +
" 'cores':2," +
" 'freedisk':188.7262191772461}," +
" '127.0.0.1:51097_solr':{" +
" 'cores':0," +
" 'freedisk':188.7262191772461}," +
" '127.0.0.1:51075_solr':{" +
" 'cores':1," +
" 'freedisk':188.7262191772461}}," +
" 'autoscalingJson':{" +
" 'cluster-preferences':[" +
" {" +
" 'minimize':'cores'," +
" 'precision':1}," +
" {'maximize':'freedisk'}]" +
" }}";
Map jsonObj = (Map) Utils.fromJSONString(state);
Map jsonObj = (Map) TestPolicy2.loadFromResource("testUtilizeNodeFailure2.json");
SolrCloudManager cloudManager = createCloudManager(jsonObj);
Suggester suggester = createSuggester(cloudManager, jsonObj, null);
int count = 0;
@ -3207,271 +2937,12 @@ public class TestPolicy extends SolrTestCaseJ4 {
}
//SOLR-12358
public void testSortError() {
public void testSortError() throws IOException {
Policy policy = new Policy((Map<String, Object>) Utils.fromJSONString("{cluster-preferences: [{minimize : cores, precision:1}, " +
"{maximize : freedisk, precision: 50}, " +
"{minimize: sysLoadAvg}]}"));
String rowsData = "{'sortedNodes':[" +
" {" +
" 'node':'solr-01:8983_solr'," +
" 'replicas':{}," +
" 'isLive':true," +
" 'attributes':[" +
" {'cores':2}," +
" {'freedisk':1734.5261459350586}," +
" {'sysLoadAvg':35.0}," +
" {'node':'solr-01:8983_solr'}]}," +
" {" +
" 'node':'solr-07:8983_solr'," +
" 'replicas':{}," +
" 'isLive':true," +
" 'attributes':[" +
" {'cores':3}," +
" {'freedisk':1721.5669250488281}," +
" {'sysLoadAvg':10.0}," +
" {'node':'solr-07:8983_solr'}]}," +
" {" +
" 'node':'solr-08:8983_solr'," +
" 'isLive':true," +
" 'attributes':[" +
" {'cores':3}," +
" {'freedisk':1764.9518203735352}," +
" {'sysLoadAvg':330.0}," +
" {'node':'solr-08:8983_solr'}]}," +
" {" +
" 'node':'solr-25:8983_solr'," +
" 'isLive':true," +
" 'attributes':[" +
" {'cores':3}," +
" {'freedisk':1779.7792778015137}," +
" {'sysLoadAvg':304.0}," +
" {'node':'solr-25:8983_solr'}]}," +
" {" +
" 'node':'solr-15:8983_solr'," +
" 'isLive':true," +
" 'attributes':[" +
" {'cores':3}," +
" {'freedisk':1697.5930519104004}," +
" {'sysLoadAvg':277.0}," +
" {'node':'solr-15:8983_solr'}]}," +
" {" +
" 'node':'solr-13:8983_solr'," +
" 'isLive':true," +
" 'attributes':[" +
" {'cores':2}," +
" {'freedisk':1755.1909484863281}," +
" {'sysLoadAvg':265.0}," +
" {'node':'solr-13:8983_solr'}]}," +
" {" +
" 'node':'solr-14:8983_solr'," +
" 'isLive':true," +
" 'attributes':[" +
" {'cores':3}," +
" {'freedisk':1757.6035423278809}," +
" {'sysLoadAvg':61.0}," +
" {'node':'solr-14:8983_solr'}]}," +
" {" +
" 'node':'solr-16:8983_solr'," +
" 'isLive':true," +
" 'attributes':[" +
" {'cores':3}," +
" {'freedisk':1746.081386566162}," +
" {'sysLoadAvg':260.0}," +
" {'node':'solr-16:8983_solr'}]}," +
" {" +
" 'node':'solr-04:8983_solr'," +
" 'isLive':true," +
" 'attributes':[" +
" {'cores':2}," +
" {'freedisk':1708.7230529785156}," +
" {'sysLoadAvg':216.0}," +
" {'node':'solr-04:8983_solr'}]}," +
" {" +
" 'node':'solr-06:8983_solr'," +
" 'isLive':true," +
" 'attributes':[" +
" {'cores':3}," +
" {'freedisk':1688.3182678222656}," +
" {'sysLoadAvg':385.0}," +
" {'node':'solr-06:8983_solr'}]}," +
" {" +
" 'node':'solr-02:8983_solr'," +
" 'isLive':true," +
" 'attributes':[" +
" {'cores':6}," +
" {'freedisk':1778.226963043213}," +
" {'sysLoadAvg':369.0}," +
" {'node':'solr-02:8983_solr'}]}," +
" {" +
" 'node':'solr-05:8983_solr'," +
" 'isLive':true," +
" 'attributes':[" +
" {'cores':3}," +
" {'freedisk':1741.9401931762695}," +
" {'sysLoadAvg':354.0}," +
" {'node':'solr-05:8983_solr'}]}," +
" {" +
" 'node':'solr-23:8983_solr'," +
" 'isLive':true," +
" 'attributes':[" +
" {'cores':3}," +
" {'freedisk':1718.854579925537}," +
" {'sysLoadAvg':329.0}," +
" {'node':'solr-23:8983_solr'}]}," +
" {" +
" 'node':'solr-24:8983_solr'," +
" 'isLive':true," +
" 'attributes':[" +
" {'cores':3}," +
" {'freedisk':1733.6669311523438}," +
" {'sysLoadAvg':327.0}," +
" {'node':'solr-24:8983_solr'}]}," +
" {" +
" 'node':'solr-09:8983_solr'," +
" 'isLive':true," +
" 'attributes':[" +
" {'cores':3}," +
" {'freedisk':1714.6191711425781}," +
" {'sysLoadAvg':278.0}," +
" {'node':'solr-09:8983_solr'}]}," +
" {" +
" 'node':'solr-10:8983_solr'," +
" 'isLive':true," +
" 'attributes':[" +
" {'cores':3}," +
" {'freedisk':1755.3038482666016}," +
" {'sysLoadAvg':266.0}," +
" {'node':'solr-10:8983_solr'}]}," +
" {" +
" 'node':'solr-28:8983_solr'," +
" 'isLive':false," +
" 'attributes':[" +
" {'cores':3}," +
" {'freedisk':1691.3830909729004}," +
" {'sysLoadAvg':261.0}," +
" {'node':'solr-28:8983_solr'}]}," +
" {" +
" 'node':'solr-29:8983_solr'," +
" 'isLive':true," +
" 'attributes':[" +
" {'cores':2}," +
" {'freedisk':1706.797966003418}," +
" {'sysLoadAvg':252.99999999999997}," +
" {'node':'solr-29:8983_solr'}]}," +
" {" +
" 'node':'solr-32:8983_solr'," +
" 'isLive':true," +
" 'attributes':[" +
" {'cores':3}," +
" {'freedisk':1762.432300567627}," +
" {'sysLoadAvg':221.0}," +
" {'node':'solr-32:8983_solr'}]}," +
" {" +
" 'node':'solr-21:8983_solr'," +
" 'isLive':true," +
" 'attributes':[" +
" {'cores':3}," +
" {'freedisk':1760.9801979064941}," +
" {'sysLoadAvg':213.0}," +
" {'node':'solr-21:8983_solr'}]}," +
" {" +
" 'node':'solr-22:8983_solr'," +
" 'isLive':true," +
" 'attributes':[" +
" {'cores':3}," +
" {'freedisk':1780.5297241210938}," +
" {'sysLoadAvg':209.0}," +
" {'node':'solr-22:8983_solr'}]}," +
" {" +
" 'node':'solr-31:8983_solr'," +
" 'isLive':true," +
" 'attributes':[" +
" {'cores':3}," +
" {'freedisk':1700.1481628417969}," +
" {'sysLoadAvg':211.0}," +
" {'node':'solr-31:8983_solr'}]}," +
" {" +
" 'node':'solr-33:8983_solr'," +
" 'isLive':false," +
" 'attributes':[" +
" {'cores':3}," +
" {'freedisk':1748.1132926940918}," +
" {'sysLoadAvg':199.0}," +
" {'node':'solr-33:8983_solr'}]}," +
" {" +
" 'node':'solr-36:8983_solr'," +
" 'isLive':true," +
" 'attributes':[" +
" {'cores':3}," +
" {'freedisk':1776.197639465332}," +
" {'sysLoadAvg':193.0}," +
" {'node':'solr-36:8983_solr'}]}," +
" {" +
" 'node':'solr-35:8983_solr'," +
" 'isLive':true," +
" 'attributes':[" +
" {'cores':3}," +
" {'freedisk':1746.7729606628418}," +
" {'sysLoadAvg':191.0}," +
" {'node':'solr-35:8983_solr'}]}," +
" {" +
" 'node':'solr-12:8983_solr'," +
" 'isLive':true," +
" 'attributes':[" +
" {'cores':3}," +
" {'freedisk':1713.287540435791}," +
" {'sysLoadAvg':175.0}," +
" {'node':'solr-12:8983_solr'}]}," +
" {" +
" 'node':'solr-11:8983_solr'," +
" 'isLive':true," +
" 'attributes':[" +
" {'cores':3}," +
" {'freedisk':1736.784511566162}," +
" {'sysLoadAvg':169.0}," +
" {'node':'solr-11:8983_solr'}]}," +
" {" +
" 'node':'solr-35:8983_solr'," +
" 'isLive':true," +
" 'attributes':[" +
" {'cores':3}," +
" {'freedisk':1766.9416885375977}," +
" {'sysLoadAvg':155.0}," +
" {'node':'solr-35:8983_solr'}]}," +
" {" +
" 'node':'solr-17:8983_solr'," +
" 'isLive':true," +
" 'attributes':[" +
" {'cores':3}," +
" {'freedisk':1764.3425407409668}," +
" {'sysLoadAvg':139.0}," +
" {'node':'solr-17:8983_solr'}]}," +
" {" +
" 'node':'solr-18:8983_solr'," +
" 'isLive':true," +
" 'attributes':[" +
" {'cores':2}," +
" {'freedisk':1757.0613975524902}," +
" {'sysLoadAvg':132.0}," +
" {'node':'solr-18:8983_solr'}]}," +
" {" +
" 'node':'solr-20:8983_solr'," +
" 'isLive':false," +
" 'attributes':[" +
" {'cores':3}," +
" {'freedisk':1747.4205322265625}," +
" {'sysLoadAvg':126.0}," +
" {'node':'solr-20:8983_solr'}]}," +
" {" +
" 'node':'solr-27:8983_solr'," +
" 'isLive':true," +
" 'attributes':[" +
" {'cores':4}," +
" {'freedisk':1721.0442085266113}," +
" {'sysLoadAvg':118.0}," +
" {'node':'solr-27:8983_solr'}]}]}";
List l = (List) ((Map) Utils.fromJSONString(rowsData)).get("sortedNodes");
List l = (List) TestPolicy2.loadFromResource("testSortError.json");
List<Variable.Type> params = new ArrayList<>();
params.add(CORES);
params.add(Variable.Type.FREEDISK);

View File

@ -18,6 +18,7 @@
package org.apache.solr.client.solrj.cloud.autoscaling;
import java.io.IOException;
import java.io.InputStream;
import java.lang.invoke.MethodHandles;
import java.util.ArrayList;
import java.util.Arrays;
@ -527,164 +528,10 @@ public class TestPolicy2 extends SolrTestCaseJ4 {
}
};
}
public void testSysPropSuggestions() {
String diagnostics = "{" +
" 'diagnostics': {" +
" 'sortedNodes': [" +
" {" +
" 'node': '127.0.0.1:63191_solr'," +
" 'isLive': true," +
" 'cores': 3.0," +
" 'sysprop.zone': 'east'," +
" 'freedisk': 1727.1459312438965," +
" 'heapUsage': 24.97510064011647," +
" 'sysLoadAvg': 272.75390625," +
" 'totaldisk': 1037.938980102539," +
" 'replicas': {" +
" 'zonesTest': {" +
" 'shard1': [" +
" {" +
" 'core_node5': {" +
" 'core': 'zonesTest_shard1_replica_n2'," +
" 'leader': 'true'," +
" 'base_url': 'https://127.0.0.1:63191/solr'," +
" 'node_name': '127.0.0.1:63191_solr'," +
" 'state': 'active'," +
" 'type': 'NRT'," +
" 'force_set_state': 'false'," +
" 'INDEX.sizeInGB': 6.426125764846802E-8," +
" 'shard': 'shard1'," +
" 'collection': 'zonesTest'" +
" }" +
" }," +
" {" +
" 'core_node7': {" +
" 'core': 'zonesTest_shard1_replica_n4'," +
" 'base_url': 'https://127.0.0.1:63191/solr'," +
" 'node_name': '127.0.0.1:63191_solr'," +
" 'state': 'active'," +
" 'type': 'NRT'," +
" 'force_set_state': 'false'," +
" 'INDEX.sizeInGB': 6.426125764846802E-8," +
" 'shard': 'shard1'," +
" 'collection': 'zonesTest'" +
" }" +
" }," +
" {" +
" 'core_node12': {" +
" 'core': 'zonesTest_shard1_replica_n10'," +
" 'base_url': 'https://127.0.0.1:63191/solr'," +
" 'node_name': '127.0.0.1:63191_solr'," +
" 'state': 'active'," +
" 'type': 'NRT'," +
" 'force_set_state': 'false'," +
" 'INDEX.sizeInGB': 6.426125764846802E-8," +
" 'shard': 'shard1'," +
" 'collection': 'zonesTest'" +
" }" +
" }" +
" ]" +
" }" +
" }" +
" }," +
" {" +
" 'node': '127.0.0.1:63192_solr'," +
" 'isLive': true," +
" 'cores': 3.0," +
" 'sysprop.zone': 'east'," +
" 'freedisk': 1727.1459312438965," +
" 'heapUsage': 24.98878807983566," +
" 'sysLoadAvg': 272.75390625," +
" 'totaldisk': 1037.938980102539," +
" 'replicas': {" +
" 'zonesTest': {" +
" 'shard2': [" +
" {" +
" 'core_node3': {" +
" 'core': 'zonesTest_shard1_replica_n1'," +
" 'base_url': 'https://127.0.0.1:63192/solr'," +
" 'node_name': '127.0.0.1:63192_solr'," +
" 'state': 'active'," +
" 'type': 'NRT'," +
" 'force_set_state': 'false'," +
" 'INDEX.sizeInGB': 6.426125764846802E-8," +
" 'shard': 'shard2'," +
" 'collection': 'zonesTest'" +
" }" +
" }," +
" {" +
" 'core_node9': {" +
" 'core': 'zonesTest_shard1_replica_n6'," +
" 'base_url': 'https://127.0.0.1:63192/solr'," +
" 'node_name': '127.0.0.1:63192_solr'," +
" 'state': 'active'," +
" 'type': 'NRT'," +
" 'force_set_state': 'false'," +
" 'INDEX.sizeInGB': 6.426125764846802E-8," +
" 'shard': 'shard2'," +
" 'collection': 'zonesTest'" +
" }" +
" }," +
" {" +
" 'core_node11': {" +
" 'core': 'zonesTest_shard1_replica_n8'," +
" 'base_url': 'https://127.0.0.1:63192/solr'," +
" 'node_name': '127.0.0.1:63192_solr'," +
" 'state': 'active'," +
" 'type': 'NRT'," +
" 'force_set_state': 'false'," +
" 'INDEX.sizeInGB': 6.426125764846802E-8," +
" 'shard': 'shard2'," +
" 'collection': 'zonesTest'" +
" }" +
" }" +
" ]" +
" }" +
" }" +
" }," +
" {" +
" 'node': '127.0.0.1:63219_solr'," +
" 'isLive': true," +
" 'cores': 0.0," +
" 'sysprop.zone': 'west'," +
" 'freedisk': 1768.6174201965332," +
" 'heapUsage': 24.98878807983566," +
" 'sysLoadAvg': 272.75390625," +
" 'totaldisk': 1037.938980102539," +
" 'replicas': {}" +
" }," +
" {" +
" 'node': '127.0.0.1:63229_solr'," +
" 'isLive': true," +
" 'cores': 0.0," +
" 'sysprop.zone': 'west'," +
" 'freedisk': 1768.6174201965332," +
" 'heapUsage': 24.98878807983566," +
" 'sysLoadAvg': 272.75390625," +
" 'totaldisk': 1037.938980102539," +
" 'replicas': {}" +
" }" +
" ]," +
" 'liveNodes': [" +
" '127.0.0.1:63191_solr'," +
" '127.0.0.1:63192_solr'," +
" '127.0.0.1:63219_solr'," +
" '127.0.0.1:63229_solr'" +
" ]," +
" 'config': {" +
" 'cluster-preferences': [" +
" {'minimize': 'cores', 'precision': 1}," +
" {'maximize': 'freedisk', 'precision': 100}," +
" {'minimize': 'sysLoadAvg', 'precision': 10}" +
" ]," +
" 'cluster-policy': [" +
" {'replica': '<3', 'shard': '#EACH', 'sysprop.zone': [east, west]}" +
" ]" +
" }" +
" }" +
"}";
Map<String, Object> m = (Map<String, Object>) Utils.fromJSONString(diagnostics);
public void testSysPropSuggestions() throws IOException {
Map<String, Object> m = (Map<String, Object>) loadFromResource("testSysPropSuggestions.json");
Map<String, Object> conf = (Map<String, Object>) Utils.getObjectByPath(m, false, "diagnostics/config");
Policy policy = new Policy(conf);
@ -704,5 +551,10 @@ public class TestPolicy2 extends SolrTestCaseJ4 {
}
}
public static Object loadFromResource(String file) throws IOException {
try (InputStream is = TestPolicy2.class.getResourceAsStream("/solrj/solr/autoscaling/" + file)) {
return Utils.fromJSON(is);
}
}
}