private ExternalView getDummyExternalView() { ExternalView externalView = new ExternalView("dummy"); externalView.setState("segment_1", "Server_1.2.3.4_1234", "ONLINE"); externalView.setState("segment_1", "Server_1.2.3.5_2345", "ONLINE"); externalView.setState("segment_1", "Server_1.2.3.6_3456", "ONLINE"); externalView.setState("segment_2", "Server_1.2.3.4_1234", "ONLINE"); externalView.setState("segment_2", "Server_1.2.3.5_2345", "ONLINE"); externalView.setState("segment_2", "Server_1.2.3.6_3456", "ONLINE"); externalView.setState("segment_3", "Server_1.2.3.4_1234", "ONLINE"); externalView.setState("segment_3", "Server_1.2.3.5_2345", "ONLINE"); externalView.setState("segment_3", "Server_1.2.3.6_3456", "ONLINE"); return externalView; }
private ExternalView buildExternalView(String tableName, Map<Integer, List<String>> replicaGroupServers) throws Exception { // Create External View ExternalView externalView = new ExternalView(tableName); for (int i = 0; i < NUM_SEGMENTS; i++) { String segmentName = "segment" + i; int serverIndex = i % (NUM_SERVERS / NUM_REPLICA); for (List<String> serversInReplicaGroup : replicaGroupServers.values()) { externalView.setState(segmentName, serversInReplicaGroup.get(serverIndex), "ONLINE"); } } return externalView; }
externalView.setState("segment0", "dataServer_instance_0", "ONLINE"); externalView.setState("segment0", "dataServer_instance_1", "ONLINE"); externalView.setState("segment1", "dataServer_instance_1", "ONLINE"); externalView.setState("segment1", "dataServer_instance_2", "ONLINE"); externalView.setState("segment2", "dataServer_instance_2", "ONLINE"); externalView.setState("segment2", "dataServer_instance_0", "ONLINE"); List<InstanceConfig> instanceConfigs = generateInstanceConfigs("dataServer_instance", 0, 2); TableConfig testResource0Config = generateTableConfig("testResource0_OFFLINE"); routingTable.markDataResourceOnline(testResource0Config, externalView, instanceConfigs); ExternalView externalView1 = new ExternalView("testResource1_OFFLINE"); externalView1.setState("segment10", "dataServer_instance_0", "ONLINE"); externalView1.setState("segment11", "dataServer_instance_1", "ONLINE"); externalView1.setState("segment12", "dataServer_instance_2", "ONLINE"); externalView2.setState("segment20", "dataServer_instance_0", "ONLINE"); externalView2.setState("segment21", "dataServer_instance_0", "ONLINE"); externalView2.setState("segment22", "dataServer_instance_0", "ONLINE"); externalView2.setState("segment20", "dataServer_instance_1", "ONLINE"); externalView2.setState("segment21", "dataServer_instance_1", "ONLINE"); externalView2.setState("segment22", "dataServer_instance_1", "ONLINE"); externalView2.setState("segment20", "dataServer_instance_2", "ONLINE"); externalView2.setState("segment21", "dataServer_instance_2", "ONLINE"); externalView2.setState("segment22", "dataServer_instance_2", "ONLINE"); TableConfig testResource2Config = generateTableConfig("testResource2_OFFLINE");
private ExternalView createExternalView(String tableName, int segmentCount, int replicationFactor, int instanceCount) { ExternalView externalView = new ExternalView(tableName); String[] instanceNames = new String[instanceCount]; for (int i = 0; i < instanceCount; i++) { instanceNames[i] = buildInstanceName(i); } int assignmentCount = 0; for (int i = 0; i < segmentCount; i++) { String segmentName = tableName + "_" + i; for (int j = 0; j < replicationFactor; j++) { externalView.setState(segmentName, instanceNames[assignmentCount % instanceCount], "ONLINE"); ++assignmentCount; } } return externalView; }
private ExternalView buildExternalView(String tableName, FakePropertyStore propertyStore, Map<Integer, List<String>> partitionToServerMapping, List<String> segmentList) throws Exception { // Create External View ExternalView externalView = new ExternalView(tableName); for (String segmentName : segmentList) { LLCSegmentName llcSegmentName = new LLCSegmentName(segmentName); int partitionId = llcSegmentName.getPartitionId(); for (String server : partitionToServerMapping.get(partitionId)) { externalView.setState(segmentName, server, "ONLINE"); } } return externalView; }
@Test public void testNoOnlineBrokerServiceOnBrokerResource() throws Exception { ExternalView brokerResource = new ExternalView(BROKER_RESOURCE_INSTANCE); brokerResource.setState(OFFLINE_TABLE_NAME, "broker_instance_2", "OFFLINE"); TableConfig tableConfig = generateDefaultTableConfig(OFFLINE_TABLE_NAME); setQps(tableConfig); _tableQueryQuotaManager.initTableQueryQuota(tableConfig, brokerResource); // For the 1st version we don't check the number of online brokers. // Thus the expected size now is 1. It'll be 0 when we bring dynamic rate back. Assert.assertEquals(_tableQueryQuotaManager.getRateLimiterMapSize(), 1); }
private ExternalView constructExternalView(String tableName) { ExternalView externalView = new ExternalView(tableName); List<OfflineSegmentZKMetadata> offlineResourceZKMetadataListForResource = ZKMetadataProvider.getOfflineSegmentZKMetadataListForTable(_propertyStore, tableName); for (OfflineSegmentZKMetadata segmentMetadata : offlineResourceZKMetadataListForResource) { externalView.setState(segmentMetadata.getSegmentName(), "localhost", "ONLINE"); } return externalView; }
String groupName = groupPrefix + "_" + groupId; String segmentName = new HLCSegmentName(groupName, ALL_PARTITIONS, String.valueOf(segmentNum)).getSegmentName(); externalView.setState(segmentName, instanceName, "ONLINE");
externalView.setState(seg1.getSegmentName(), "pinot1", "ONLINE"); externalView.setState(seg1.getSegmentName(), "pinot2", "ONLINE"); externalView.setState(seg1.getSegmentName(), "pinot3", "ONLINE"); externalView.setState(seg2.getSegmentName(), "pinot1", "CONSUMING"); externalView.setState(seg2.getSegmentName(), "pinot2", "ONLINE"); externalView.setState(seg2.getSegmentName(), "pinot3", "CONSUMING"); externalView.setState(seg3.getSegmentName(), "pinot1", "CONSUMING"); externalView.setState(seg3.getSegmentName(), "pinot2", "CONSUMING"); externalView.setState(seg3.getSegmentName(), "pinot3", "OFFLINE");
externalView.setState(llcSegmentName.getSegmentName(), "dataServer_instance_0", "CONSUMING"); externalView .setState(new HLCSegmentName(group0, ALL_PARTITIONS, "0").getSegmentName(), "dataServer_instance_0", "ONLINE"); externalView .setState(new HLCSegmentName(group0, ALL_PARTITIONS, "1").getSegmentName(), "dataServer_instance_1", "ONLINE"); externalView .setState(new HLCSegmentName(group1, ALL_PARTITIONS, "2").getSegmentName(), "dataServer_instance_2", "ONLINE"); externalView .setState(new HLCSegmentName(group1, ALL_PARTITIONS, "3").getSegmentName(), "dataServer_instance_3", "ONLINE"); externalView .setState(new HLCSegmentName(group2, ALL_PARTITIONS, "4").getSegmentName(), "dataServer_instance_4", "ONLINE"); externalView .setState(new HLCSegmentName(group2, ALL_PARTITIONS, "5").getSegmentName(), "dataServer_instance_5", "ONLINE"); routingTable.markDataResourceOnline(generateTableConfig("testResource0_REALTIME"), externalView, generateInstanceConfigs("dataServer_instance", 0, 5)); ExternalView externalView1 = new ExternalView("testResource1_REALTIME"); externalView1.setState(new HLCSegmentName(group0, ALL_PARTITIONS, "10").getSegmentName(), "dataServer_instance_10", "ONLINE"); externalView1.setState(new HLCSegmentName(group0, ALL_PARTITIONS, "11").getSegmentName(), "dataServer_instance_11", "ONLINE"); externalView1.setState(new HLCSegmentName(group0, ALL_PARTITIONS, "12").getSegmentName(), "dataServer_instance_12", "ONLINE"); routingTable.markDataResourceOnline(generateTableConfig("testResource1_REALTIME"), externalView1, generateInstanceConfigs("dataServer_instance", 10, 12)); ExternalView externalView2 = new ExternalView("testResource2_REALTIME"); externalView2.setState(new HLCSegmentName(group0, ALL_PARTITIONS, "20").getSegmentName(), "dataServer_instance_20", "ONLINE"); externalView2.setState(new HLCSegmentName(group0, ALL_PARTITIONS, "21").getSegmentName(), "dataServer_instance_21", "ONLINE");
offlineExternalView.setState("someSegment_0", "Server_1.2.3.4_1234", "ONLINE");
callback.setIdealState(idealState); ExternalView externalView = new ExternalView(TABLE_NAME); externalView.setState("mySegment_1", INSTANCE_NAME, "ONLINE"); callback.setExternalView(externalView); assertEquals(callback.getServiceStatus(), ServiceStatus.Status.GOOD); callback.setIdealState(idealState); externalView = new ExternalView(TABLE_NAME); externalView.setState("mySegment_1", INSTANCE_NAME, "ERROR"); callback.setExternalView(externalView); assertEquals(callback.getServiceStatus(), ServiceStatus.Status.GOOD); callback.setIdealState(idealState); externalView = new ExternalView(TABLE_NAME); externalView.setState("mySegment_1", INSTANCE_NAME, "ONLINE"); externalView.setState("mySegment_2", INSTANCE_NAME + "2", "OFFLINE"); callback.setExternalView(externalView); assertEquals(callback.getServiceStatus(), ServiceStatus.Status.GOOD);