当前位置: 首页>>代码示例>>Java>>正文


Java RegionLocations.isEmpty方法代码示例

本文整理汇总了Java中org.apache.hadoop.hbase.RegionLocations.isEmpty方法的典型用法代码示例。如果您正苦于以下问题:Java RegionLocations.isEmpty方法的具体用法?Java RegionLocations.isEmpty怎么用?Java RegionLocations.isEmpty使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.hadoop.hbase.RegionLocations的用法示例。


在下文中一共展示了RegionLocations.isEmpty方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: clearCache

import org.apache.hadoop.hbase.RegionLocations; //导入方法依赖的package包/类
/**
 * Delete a cached location, no matter what it is. Called when we were told to not use cache.
 * @param tableName tableName
 * @param row
 */
public void clearCache(final TableName tableName, final byte [] row, int replicaId) {
  ConcurrentMap<byte[], RegionLocations> tableLocations = getTableLocations(tableName);

  boolean removed = false;
  RegionLocations regionLocations = getCachedLocation(tableName, row);
  if (regionLocations != null) {
    HRegionLocation toBeRemoved = regionLocations.getRegionLocation(replicaId);
    RegionLocations updatedLocations = regionLocations.remove(replicaId);
    if (updatedLocations != regionLocations) {
      byte[] startKey = regionLocations.getRegionLocation().getRegionInfo().getStartKey();
      if (updatedLocations.isEmpty()) {
        removed = tableLocations.remove(startKey, regionLocations);
      } else {
        removed = tableLocations.replace(startKey, regionLocations, updatedLocations);
      }
    }

    if (removed && LOG.isTraceEnabled() && toBeRemoved != null) {
      LOG.trace("Removed " + toBeRemoved + " from cache");
    }
  }
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:28,代码来源:MetaCache.java

示例2: clearCache

import org.apache.hadoop.hbase.RegionLocations; //导入方法依赖的package包/类
/**
 * Deletes the cached location of the region if necessary, based on some error from source.
 * @param hri The region in question.
 */
public void clearCache(RegionInfo hri) {
  ConcurrentMap<byte[], RegionLocations> tableLocations = getTableLocations(hri.getTable());
  RegionLocations regionLocations = tableLocations.get(hri.getStartKey());
  if (regionLocations != null) {
    HRegionLocation oldLocation = regionLocations.getRegionLocation(hri.getReplicaId());
    if (oldLocation == null) return;
    RegionLocations updatedLocations = regionLocations.remove(oldLocation);
    boolean removed;
    if (updatedLocations != regionLocations) {
      if (updatedLocations.isEmpty()) {
        removed = tableLocations.remove(hri.getStartKey(), regionLocations);
      } else {
        removed = tableLocations.replace(hri.getStartKey(), regionLocations, updatedLocations);
      }
      if (removed) {
        if (metrics != null) {
          metrics.incrMetaCacheNumClearRegion();
        }
        if (LOG.isTraceEnabled()) {
          LOG.trace("Removed " + oldLocation + " from cache");
        }
      }
    }
  }
}
 
开发者ID:apache,项目名称:hbase,代码行数:30,代码来源:MetaCache.java


注:本文中的org.apache.hadoop.hbase.RegionLocations.isEmpty方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。