@Override public InternalScanner preCompact(ObserverContext<RegionCoprocessorEnvironment> c, Store store, InternalScanner scanner, ScanType scanType, CompactionLifeCycleTracker tracker, CompactionRequest request) throws IOException { return wrap(store.getColumnFamilyDescriptor().getName(), scanner); }
@Override public InternalScanner preFlush(ObserverContext<RegionCoprocessorEnvironment> c, Store store, InternalScanner scanner, FlushLifeCycleTracker tracker) throws IOException { return wrap(store.getColumnFamilyDescriptor().getName(), scanner); }
@Override public InternalScanner preMemStoreCompactionCompact( ObserverContext<RegionCoprocessorEnvironment> c, Store store, InternalScanner scanner) throws IOException { return wrap(store.getColumnFamilyDescriptor().getName(), scanner); }
/** * Helper method to get the store archive directory for the specified region * @param conf {@link Configuration} to check for the name of the archive directory * @param region region that is being archived * @param store store that is archiving files * @return {@link Path} to the store archive directory for the given region */ public static Path getStoreArchivePath(Configuration conf, HRegion region, Store store) throws IOException { return HFileArchiveUtil.getStoreArchivePath(conf, region.getRegionInfo(), region.getRegionFileSystem().getTableDir(), store.getColumnFamilyDescriptor().getName()); }
public static boolean isLocalIndexStore(Store store) { return store.getColumnFamilyDescriptor().getNameAsString().startsWith(QueryConstants.LOCAL_INDEX_COLUMN_FAMILY_PREFIX); }
@Override public InternalScanner createCompactionScanner(RegionCoprocessorEnvironment env, Store store, InternalScanner delegate) { ImmutableBytesPtr cfKey = new ImmutableBytesPtr(store.getColumnFamilyDescriptor().getName()); LOG.info("StatisticsScanner created for table: " + tableName + " CF: " + store.getColumnFamilyName()); return new StatisticsScanner(this, statsWriter, env, delegate, cfKey); }
MetaDataUtil.isLocalIndexFamily(scan.getFamilyMap().keySet().iterator().next()); for (Store store : region.getStores()) { ImmutableBytesPtr cfKey = new ImmutableBytesPtr(store.getColumnFamilyDescriptor().getName()); boolean isLocalIndexStore = MetaDataUtil.isLocalIndexFamily(cfKey); if (isLocalIndexStore != collectingForLocalIndex) {
@Override public InternalScanner run() throws Exception { InternalScanner internalScanner = scanner; try { long clientTimeStamp = EnvironmentEdgeManager.currentTimeMillis(); DelegateRegionCoprocessorEnvironment compactionConfEnv = new DelegateRegionCoprocessorEnvironment( c.getEnvironment(), ConnectionType.COMPACTION_CONNECTION); StatisticsCollector statisticsCollector = StatisticsCollectorFactory.createStatisticsCollector( compactionConfEnv, table.getNameAsString(), clientTimeStamp, store.getColumnFamilyDescriptor().getName()); statisticsCollector.init(); internalScanner = statisticsCollector.createCompactionScanner(compactionConfEnv, store, scanner); } catch (Exception e) { // If we can't reach the stats table, don't interrupt the normal // compaction operation, just log a warning. if (logger.isWarnEnabled()) { logger.warn("Unable to collect stats for " + table, e); } } return internalScanner; } });
scan.readVersions(store.getColumnFamilyDescriptor().getMaxVersions()); for (Store s : env.getRegion().getStores()) { if (!IndexUtil.isLocalIndexStore(s)) { scan.addFamily(s.getColumnFamilyDescriptor().getName()); maintainers, store.getColumnFamilyDescriptor().getName(),env.getConfiguration());
public static boolean isLocalIndexStore(Store store) { return store.getColumnFamilyDescriptor().getNameAsString().startsWith(QueryConstants.LOCAL_INDEX_COLUMN_FAMILY_PREFIX); }
public static boolean isLocalIndexStore(Store store) { return store.getColumnFamilyDescriptor().getNameAsString().startsWith(QueryConstants.LOCAL_INDEX_COLUMN_FAMILY_PREFIX); }
@Override public InternalScanner preCompact(ObserverContext<RegionCoprocessorEnvironment> c, Store store, InternalScanner scanner, ScanType scanType, CompactionLifeCycleTracker tracker, CompactionRequest request) throws IOException { return wrap(store.getColumnFamilyDescriptor().getName(), scanner); }
@Override public InternalScanner preMemStoreCompactionCompact( ObserverContext<RegionCoprocessorEnvironment> c, Store store, InternalScanner scanner) throws IOException { return wrap(store.getColumnFamilyDescriptor().getName(), scanner); }
@Override public InternalScanner preFlush(ObserverContext<RegionCoprocessorEnvironment> c, Store store, InternalScanner scanner, FlushLifeCycleTracker tracker) throws IOException { return wrap(store.getColumnFamilyDescriptor().getName(), scanner); }
@Override public InternalScanner createCompactionScanner(RegionCoprocessorEnvironment env, Store store, InternalScanner s) throws IOException { // See if this is for Major compaction if (logger.isDebugEnabled()) { logger.debug("Compaction scanner created for stats"); } ImmutableBytesPtr cfKey = new ImmutableBytesPtr(store.getColumnFamilyDescriptor().getName()); // Potentially perform a cross region server get in order to use the correct guide posts // width for the table being compacted. init(); StatisticsScanner scanner = new StatisticsScanner(this, statsWriter, env, s, cfKey); return scanner; }
@Override public InternalScanner createCompactionScanner(RegionCoprocessorEnvironment env, Store store, InternalScanner s) throws IOException { // See if this is for Major compaction if (logger.isDebugEnabled()) { logger.debug("Compaction scanner created for stats"); } ImmutableBytesPtr cfKey = new ImmutableBytesPtr(store.getColumnFamilyDescriptor().getName()); // Potentially perform a cross region server get in order to use the correct guide posts // width for the table being compacted. init(); StatisticsScanner scanner = new StatisticsScanner(this, statsWriter, env, s, cfKey); return scanner; }
@Override public InternalScanner run() throws Exception { InternalScanner internalScanner = scanner; try { long clientTimeStamp = EnvironmentEdgeManager.currentTimeMillis(); DelegateRegionCoprocessorEnvironment compactionConfEnv = new DelegateRegionCoprocessorEnvironment(c.getEnvironment(), ConnectionType.COMPACTION_CONNECTION); StatisticsCollector stats = StatisticsCollectorFactory.createStatisticsCollector( compactionConfEnv, table.getNameAsString(), clientTimeStamp, store.getColumnFamilyDescriptor().getName()); internalScanner = stats.createCompactionScanner(compactionConfEnv, store, scanner); } catch (Exception e) { // If we can't reach the stats table, don't interrupt the normal // compaction operation, just log a warning. if (logger.isWarnEnabled()) { logger.warn("Unable to collect stats for " + table, e); } } return internalScanner; } });
@Override public InternalScanner run() throws Exception { InternalScanner internalScanner = scanner; try { long clientTimeStamp = EnvironmentEdgeManager.currentTimeMillis(); DelegateRegionCoprocessorEnvironment compactionConfEnv = new DelegateRegionCoprocessorEnvironment(c.getEnvironment(), ConnectionType.COMPACTION_CONNECTION); StatisticsCollector stats = StatisticsCollectorFactory.createStatisticsCollector( compactionConfEnv, table.getNameAsString(), clientTimeStamp, store.getColumnFamilyDescriptor().getName()); internalScanner = stats.createCompactionScanner(compactionConfEnv, store, scanner); } catch (Exception e) { // If we can't reach the stats table, don't interrupt the normal // compaction operation, just log a warning. if (logger.isWarnEnabled()) { logger.warn("Unable to collect stats for " + table, e); } } return internalScanner; } });
scan.readVersions(store.getColumnFamilyDescriptor().getMaxVersions()); for (Store s : env.getRegion().getStores()) { if (!IndexUtil.isLocalIndexStore(s)) { scan.addFamily(s.getColumnFamilyDescriptor().getName()); maintainers, store.getColumnFamilyDescriptor().getName(),env.getConfiguration());
/** * Helper method to get the store archive directory for the specified region * @param conf {@link Configuration} to check for the name of the archive directory * @param region region that is being archived * @param store store that is archiving files * @return {@link Path} to the store archive directory for the given region */ public static Path getStoreArchivePath(Configuration conf, HRegion region, Store store) throws IOException { return HFileArchiveUtil.getStoreArchivePath(conf, region.getRegionInfo(), region.getRegionFileSystem().getTableDir(), store.getColumnFamilyDescriptor().getName()); }