completedServersQueue.add(chosenServer); LOGGER.info("Relocating segment {} from server {} to completed server {} (tag {})", segmentName, instance, chosenServer, realtimeTagConfig.getCompletedServerTag()); break;
final List<String> completedServers = getInstancesWithTag(helixManager, realtimeTagConfig.getCompletedServerTag()); if (completedServers.isEmpty()) { throw new IllegalStateException( "Found no realtime completed servers with tag " + realtimeTagConfig.getCompletedServerTag());
public List<String> getServerInstancesForTable(String tableName, TableType tableType) { TableConfig tableConfig = getTableConfig(tableName, tableType); Set<String> serverInstances = new HashSet<>(); if (TableType.OFFLINE.equals(tableType)) { OfflineTagConfig tagConfig = new OfflineTagConfig(tableConfig); serverInstances.addAll(HelixHelper.getInstancesWithTag(_helixZkManager, tagConfig.getOfflineServerTag())); } else if (TableType.REALTIME.equals(tableType)) { RealtimeTagConfig tagConfig = new RealtimeTagConfig(tableConfig); serverInstances.addAll(HelixHelper.getInstancesWithTag(_helixZkManager, tagConfig.getConsumingServerTag())); serverInstances.addAll(HelixHelper.getInstancesWithTag(_helixZkManager, tagConfig.getCompletedServerTag())); } return Lists.newArrayList(serverInstances); }
private void getServingInstances(TableConfig tableConfig, List<String> servingInstances, List<String> enabledServingInstances) { String tag; if (tableConfig.getTableType().equals(CommonConstants.Helix.TableType.REALTIME)) { RealtimeTagConfig realtimeTagConfig = new RealtimeTagConfig(tableConfig); tag = realtimeTagConfig.getCompletedServerTag(); } else { OfflineTagConfig offlineTagConfig = new OfflineTagConfig(tableConfig); tag = offlineTagConfig.getOfflineServerTag(); } servingInstances.addAll(getInstancesWithTag(tag)); enabledServingInstances.addAll(getEnabledInstancesWithTag(tag)); }
@Test(dataProvider = "realtimeTagConfigTestDataProvider") public void testRealtimeTagConfig(TableConfig tableConfig, String expectedServerTenant, String expectedRealtimeConsumingTag, String expectedRealtimeCompletedTag) { RealtimeTagConfig tagConfig = new RealtimeTagConfig(tableConfig); Assert.assertEquals(tagConfig.getServerTenantName(), expectedServerTenant); Assert.assertEquals(tagConfig.getConsumingServerTag(), expectedRealtimeConsumingTag); Assert.assertEquals(tagConfig.getCompletedServerTag(), expectedRealtimeCompletedTag); }
when(realtimeTagConfig.getCompletedServerTag()).thenReturn(serverTenantCompleted);