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


Java RegionLocations.removeByServer方法代码示例

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


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

示例1: clearCache

import org.apache.hadoop.hbase.RegionLocations; //导入方法依赖的package包/类
/**
 * Delete a cached location for a table, row and server
 */
public void clearCache(final TableName tableName, final byte [] row, ServerName serverName) {
  ConcurrentMap<byte[], RegionLocations> tableLocations = getTableLocations(tableName);

  RegionLocations regionLocations = getCachedLocation(tableName, row);
  if (regionLocations != null) {
    RegionLocations updatedLocations = regionLocations.removeByServer(serverName);
    if (updatedLocations != regionLocations) {
      byte[] startKey = regionLocations.getRegionLocation().getRegionInfo().getStartKey();
      boolean removed = false;
      if (updatedLocations.isEmpty()) {
        removed = tableLocations.remove(startKey, regionLocations);
      } else {
        removed = tableLocations.replace(startKey, regionLocations, updatedLocations);
      }
      if (removed && LOG.isTraceEnabled()) {
        LOG.trace("Removed locations of table: " + tableName + " ,row: " + Bytes.toString(row)
          + " mapping to server: " + serverName + " from cache");
      }
    }
  }
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:25,代码来源:MetaCache.java

示例2: clearCache

import org.apache.hadoop.hbase.RegionLocations; //导入方法依赖的package包/类
/**
 * Delete a cached location for a table, row and server
 */
public void clearCache(final TableName tableName, final byte [] row, ServerName serverName) {
  ConcurrentMap<byte[], RegionLocations> tableLocations = getTableLocations(tableName);

  RegionLocations regionLocations = getCachedLocation(tableName, row);
  if (regionLocations != null) {
    RegionLocations updatedLocations = regionLocations.removeByServer(serverName);
    if (updatedLocations != regionLocations) {
      byte[] startKey = regionLocations.getRegionLocation().getRegion().getStartKey();
      boolean removed = false;
      if (updatedLocations.isEmpty()) {
        removed = tableLocations.remove(startKey, regionLocations);
      } else {
        removed = tableLocations.replace(startKey, regionLocations, updatedLocations);
      }
      if (removed) {
        if (metrics != null) {
          metrics.incrMetaCacheNumClearRegion();
        }
        if (LOG.isTraceEnabled()) {
          LOG.trace("Removed locations of table: " + tableName + " ,row: " + Bytes.toString(row)
            + " mapping to server: " + serverName + " from cache");
        }
      }
    }
  }
}
 
开发者ID:apache,项目名称:hbase,代码行数:30,代码来源:MetaCache.java


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