1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.hadoop.hbase.rest.model;
21
22 import java.util.Iterator;
23
24 import org.apache.hadoop.hbase.SmallTests;
25 import org.apache.hadoop.hbase.TableName;
26 import org.apache.hadoop.hbase.util.Base64;
27 import org.apache.hadoop.hbase.util.Bytes;
28
29 import org.junit.experimental.categories.Category;
30
31 @Category(SmallTests.class)
32 public class TestStorageClusterStatusModel extends TestModelBase<StorageClusterStatusModel> {
33
34 public TestStorageClusterStatusModel() throws Exception {
35 super(StorageClusterStatusModel.class);
36
37 AS_XML =
38 "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>" +
39 "<ClusterStatus averageLoad=\"1.0\" regions=\"2\" requests=\"0\">" +
40 "<DeadNodes/><LiveNodes>" +
41 "<Node heapSizeMB=\"128\" maxHeapSizeMB=\"1024\" name=\"test1\" requests=\"0\" startCode=\"1245219839331\">" +
42 "<Region currentCompactedKVs=\"1\" memstoreSizeMB=\"0\" name=\"aGJhc2U6cm9vdCwsMA==\" readRequestsCount=\"1\" " +
43 "rootIndexSizeKB=\"1\" storefileIndexSizeMB=\"0\" storefileSizeMB=\"0\" storefiles=\"1\" stores=\"1\" " +
44 "totalCompactingKVs=\"1\" totalStaticBloomSizeKB=\"1\" totalStaticIndexSizeKB=\"1\" writeRequestsCount=\"2\"/>" +
45 "</Node>" +
46 "<Node heapSizeMB=\"512\" maxHeapSizeMB=\"1024\" name=\"test2\" requests=\"0\" startCode=\"1245239331198\">" +
47 "<Region currentCompactedKVs=\"1\" memstoreSizeMB=\"0\" name=\"aGJhc2U6bWV0YSwsMTI0NjAwMDA0MzcyNA==\" " +
48 "readRequestsCount=\"1\" rootIndexSizeKB=\"1\" storefileIndexSizeMB=\"0\" storefileSizeMB=\"0\" " +
49 "storefiles=\"1\" stores=\"1\" totalCompactingKVs=\"1\" totalStaticBloomSizeKB=\"1\" " +
50 "totalStaticIndexSizeKB=\"1\" writeRequestsCount=\"2\"/></Node></LiveNodes></ClusterStatus>";
51
52 AS_PB =
53 "Cj8KBXRlc3QxEOO6i+eeJBgAIIABKIAIMicKDWhiYXNlOnJvb3QsLDAQARgBIAAoADAAOAFAAkgB" +
54 "UAFYAWABaAEKSwoFdGVzdDIQ/pKx8J4kGAAggAQogAgyMwoZaGJhc2U6bWV0YSwsMTI0NjAwMDA0" +
55 "MzcyNBABGAEgACgAMAA4AUACSAFQAVgBYAFoARgCIAApAAAAAAAA8D8=";
56
57
58
59
60
61 AS_JSON =
62 "{\"regions\":2,\"requests\":0,\"averageLoad\":1.0,\"LiveNodes\":[{\"name\":\"test1\"," +
63 "\"Region\":[{\"name\":\"aGJhc2U6cm9vdCwsMA==\",\"stores\":1,\"storefiles\":1," +
64 "\"storefileSizeMB\":0,\"memstoreSizeMB\":0,\"storefileIndexSizeMB\":0," +
65 "\"readRequestsCount\":1,\"writeRequestsCount\":2,\"rootIndexSizeKB\":1," +
66 "\"totalStaticIndexSizeKB\":1,\"totalStaticBloomSizeKB\":1,\"totalCompactingKVs\":1," +
67 "\"currentCompactedKVs\":1}],\"requests\":0,\"startCode\":1245219839331," +
68 "\"heapSizeMB\":128,\"maxHeapSizeMB\":1024},{\"name\":\"test2\"," +
69 "\"Region\":[{\"name\":\"aGJhc2U6bWV0YSwsMTI0NjAwMDA0MzcyNA==\",\"stores\":1," +
70 "\"storefiles\":1,\"storefileSizeMB\":0,\"memstoreSizeMB\":0,\"storefileIndexSizeMB\":0," +
71 "\"readRequestsCount\":1,\"writeRequestsCount\":2,\"rootIndexSizeKB\":1," +
72 "\"totalStaticIndexSizeKB\":1,\"totalStaticBloomSizeKB\":1,\"totalCompactingKVs\":1," +
73 "\"currentCompactedKVs\":1}],\"requests\":0,\"startCode\":1245239331198," +
74 "\"heapSizeMB\":512,\"maxHeapSizeMB\":1024}],\"DeadNodes\":[]}";
75 }
76
77 protected StorageClusterStatusModel buildTestModel() {
78 StorageClusterStatusModel model = new StorageClusterStatusModel();
79 model.setRegions(2);
80 model.setRequests(0);
81 model.setAverageLoad(1.0);
82 model.addLiveNode("test1", 1245219839331L, 128, 1024)
83 .addRegion(Bytes.toBytes("hbase:root,,0"), 1, 1, 0, 0, 0, 1, 2, 1, 1, 1, 1, 1);
84 model.addLiveNode("test2", 1245239331198L, 512, 1024)
85 .addRegion(Bytes.toBytes(TableName.META_TABLE_NAME+",,1246000043724"),1, 1, 0, 0, 0,
86 1, 2, 1, 1, 1, 1, 1);
87 return model;
88 }
89
90 protected void checkModel(StorageClusterStatusModel model) {
91 assertEquals(model.getRegions(), 2);
92 assertEquals(model.getRequests(), 0);
93 assertEquals(model.getAverageLoad(), 1.0);
94 Iterator<StorageClusterStatusModel.Node> nodes =
95 model.getLiveNodes().iterator();
96 StorageClusterStatusModel.Node node = nodes.next();
97 assertEquals(node.getName(), "test1");
98 assertEquals(node.getStartCode(), 1245219839331L);
99 assertEquals(node.getHeapSizeMB(), 128);
100 assertEquals(node.getMaxHeapSizeMB(), 1024);
101 Iterator<StorageClusterStatusModel.Node.Region> regions =
102 node.getRegions().iterator();
103 StorageClusterStatusModel.Node.Region region = regions.next();
104 assertTrue(Bytes.toString(region.getName()).equals(
105 "hbase:root,,0"));
106 assertEquals(region.getStores(), 1);
107 assertEquals(region.getStorefiles(), 1);
108 assertEquals(region.getStorefileSizeMB(), 0);
109 assertEquals(region.getMemstoreSizeMB(), 0);
110 assertEquals(region.getStorefileIndexSizeMB(), 0);
111 assertEquals(region.getReadRequestsCount(), 1);
112 assertEquals(region.getWriteRequestsCount(), 2);
113 assertEquals(region.getRootIndexSizeKB(), 1);
114 assertEquals(region.getTotalStaticIndexSizeKB(), 1);
115 assertEquals(region.getTotalStaticBloomSizeKB(), 1);
116 assertEquals(region.getTotalCompactingKVs(), 1);
117 assertEquals(region.getCurrentCompactedKVs(), 1);
118 assertFalse(regions.hasNext());
119 node = nodes.next();
120 assertEquals(node.getName(), "test2");
121 assertEquals(node.getStartCode(), 1245239331198L);
122 assertEquals(node.getHeapSizeMB(), 512);
123 assertEquals(node.getMaxHeapSizeMB(), 1024);
124 regions = node.getRegions().iterator();
125 region = regions.next();
126 assertEquals(Bytes.toString(region.getName()),
127 TableName.META_TABLE_NAME+",,1246000043724");
128 assertEquals(region.getStores(), 1);
129 assertEquals(region.getStorefiles(), 1);
130 assertEquals(region.getStorefileSizeMB(), 0);
131 assertEquals(region.getMemstoreSizeMB(), 0);
132 assertEquals(region.getStorefileIndexSizeMB(), 0);
133 assertEquals(region.getReadRequestsCount(), 1);
134 assertEquals(region.getWriteRequestsCount(), 2);
135 assertEquals(region.getRootIndexSizeKB(), 1);
136 assertEquals(region.getTotalStaticIndexSizeKB(), 1);
137 assertEquals(region.getTotalStaticBloomSizeKB(), 1);
138 assertEquals(region.getTotalCompactingKVs(), 1);
139 assertEquals(region.getCurrentCompactedKVs(), 1);
140
141 assertFalse(regions.hasNext());
142 assertFalse(nodes.hasNext());
143 }
144 }
145