private ServerName generateMissingFavoredNodeSingleRack(List<ServerName> favoredNodes, List<ServerName> excludeNodes) throws IOException { ServerName newServer = null; Set<ServerName> excludeFNSet = Sets.newHashSet(favoredNodes); if (excludeNodes != null && excludeNodes.size() > 0) { excludeFNSet.addAll(excludeNodes); } if (favoredNodes.size() < FAVORED_NODES_NUM) { newServer = this.getOneRandomServer(this.uniqueRackList.get(0), excludeFNSet); } return newServer; }
@VisibleForTesting Set<Path> getLastestPath() { synchronized (latestPaths) { return Sets.newHashSet(latestPaths.values()); } }
ClusterCompactionQueues(int concurrentServers) { this.concurrentServers = concurrentServers; this.compactionQueues = Maps.newHashMap(); this.lock = new ReentrantReadWriteLock(); this.compactingServers = Sets.newHashSet(); }
@Override protected Set<String> getColumnFamilies() { return Sets.newHashSet(FAMILY_NAME); }
/** * Filter and return regions for which favored nodes is not applicable. * * @param regions - collection of regions * @return set of regions for which favored nodes is not applicable */ public static Set<RegionInfo> filterNonFNApplicableRegions(Collection<RegionInfo> regions) { Set<RegionInfo> fnRegions = Sets.newHashSet(); for (RegionInfo regionInfo : regions) { if (!isFavoredNodeApplicable(regionInfo)) { fnRegions.add(regionInfo); } } return fnRegions; }
protected Set<String> getColumnFamilies() { return Sets.newHashSet(familyName); }
public static Set<File> getActiveLogFiles() throws IOException { Set<File> ret = Sets.newHashSet(); Appender a; @SuppressWarnings("unchecked") Enumeration<Appender> e = Logger.getRootLogger().getAllAppenders(); while (e.hasMoreElements()) { a = e.nextElement(); if (a instanceof FileAppender) { FileAppender fa = (FileAppender) a; String filename = fa.getFile(); ret.add(new File(filename)); } } return ret; }
@VisibleForTesting public synchronized Set<RegionInfo> getRegionsOfFavoredNode(ServerName serverName) { Set<RegionInfo> regionInfos = Sets.newHashSet(); ServerName serverToUse = ServerName.valueOf(serverName.getHostAndPort(), NON_STARTCODE); if (primaryRSToRegionMap.containsKey(serverToUse)) { regionInfos.addAll(primaryRSToRegionMap.get(serverToUse)); } if (secondaryRSToRegionMap.containsKey(serverToUse)) { regionInfos.addAll(secondaryRSToRegionMap.get(serverToUse)); } if (teritiaryRSToRegionMap.containsKey(serverToUse)) { regionInfos.addAll(teritiaryRSToRegionMap.get(serverToUse)); } return regionInfos; }
private Set<ServerName> getRegionServersOfTable(RegionLocator regionLocator) throws IOException { Set<ServerName> tableServers = Sets.newHashSet(); for (HRegionLocation regionLocation : regionLocator.getAllRegionLocations()) { tableServers.add(regionLocation.getServerName()); } return tableServers; }
@Override protected Set<String> getColumnFamilies() { return Sets.newHashSet(Bytes.toString(TEST_FAMILY)); }
@Override public void postDeleteTable(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName) throws IOException { try { RSGroupInfo group = groupAdminServer.getRSGroupInfoOfTable(tableName); if (group != null) { LOG.debug(String.format("Removing deleted table '%s' from rsgroup '%s'", tableName, group.getName())); groupAdminServer.moveTables(Sets.newHashSet(tableName), null); } } catch (IOException ex) { LOG.debug("Failed to perform RSGroup information cleanup for table: " + tableName, ex); } }
@Override protected Set<String> getColumnFamilies() { return Sets.newHashSet(Bytes.toString(CHAIN_FAM) , Bytes.toString(DATA_FAM), Bytes.toString(SORT_FAM)); }
@Override protected Set<String> getColumnFamilies() { return Sets.newHashSet(Bytes.toString(FAMILY_A), Bytes.toString(FAMILY_B), Bytes.toString(FAMILY_C)); }
@Override protected Set<String> getColumnFamilies() { if (isMultiUnevenColumnFamilies(getConf())) { return Sets.newHashSet(Bytes.toString(FAMILY_NAME), Bytes.toString(BIG_FAMILY_NAME), Bytes.toString(TINY_FAMILY_NAME)); } else { return Sets.newHashSet(Bytes.toString(FAMILY_NAME)); } }
private void checkDuplicateFN(List<ServerName> fnList) { Set<ServerName> favoredNodes = Sets.newHashSet(fnList); assertEquals("Did not find expected number of favored nodes", FavoredNodeAssignmentHelper.FAVORED_NODES_NUM, favoredNodes.size()); }
private void checkFNRacks(List<ServerName> fnList) { Set<ServerName> favoredNodes = Sets.newHashSet(fnList); Set<String> racks = Sets.newHashSet(); for (ServerName sn : favoredNodes) { racks.add(rackManager.getRack(sn)); } assertTrue("FN should be spread atleast across 2 racks", racks.size() >= 2); } }
private void checkFNRacks(List<ServerName> fnList, ServerName genFN) { Set<ServerName> favoredNodes = Sets.newHashSet(fnList); favoredNodes.add(genFN); Set<String> racks = Sets.newHashSet(); for (ServerName sn : favoredNodes) { racks.add(rackManager.getRack(sn)); } assertTrue("FN should be spread atleast across 2 racks", racks.size() >= 2); }
private void checkDuplicateFN(List<ServerName> fnList, ServerName genFN) { Set<ServerName> favoredNodes = Sets.newHashSet(fnList); assertNotNull("Generated FN can't be null", genFN); favoredNodes.add(genFN); assertEquals("Did not find expected number of favored nodes", FavoredNodeAssignmentHelper.FAVORED_NODES_NUM, favoredNodes.size()); }
private MajorCompactionRequest makeMockRequest(long timestamp, List<StoreFileInfo> storeFiles, boolean references) throws IOException { Configuration configuration = mock(Configuration.class); RegionInfo regionInfo = mock(RegionInfo.class); when(regionInfo.getEncodedName()).thenReturn("HBase"); when(regionInfo.getTable()).thenReturn(TableName.valueOf("foo")); MajorCompactionRequest request = new MajorCompactionRequest(configuration, regionInfo, Sets.newHashSet("a"), timestamp); MajorCompactionRequest spy = spy(request); HRegionFileSystem fileSystem = mockFileSystem(regionInfo, references, storeFiles); doReturn(fileSystem).when(spy).getFileSystem(isA(Connection.class)); doReturn(mock(Connection.class)).when(spy).getConnection(eq(configuration)); return spy; } }
@Test public void testStoresNeedingCompaction() throws Exception { // store files older than timestamp List<StoreFileInfo> storeFiles = mockStoreFiles(regionStoreDir, 5, 10); MajorCompactionRequest request = makeMockRequest(100, storeFiles, false); Optional<MajorCompactionRequest> result = request.createRequest(mock(Configuration.class), Sets.newHashSet(FAMILY)); assertTrue(result.isPresent()); // store files newer than timestamp storeFiles = mockStoreFiles(regionStoreDir, 5, 101); request = makeMockRequest(100, storeFiles, false); result = request.createRequest(mock(Configuration.class), Sets.newHashSet(FAMILY)); assertFalse(result.isPresent()); }