Java 类org.apache.hadoop.hdfs.server.blockmanagement.CorruptReplicasMap.Reason 实例源码

项目:hadoop    文件:BlockManager.java   
/**
 * Invalidate corrupt replicas.
 * <p>
 * This will remove the replicas from the block's location list,
 * add them to {@link #invalidateBlocks} so that they could be further
 * deleted from the respective data-nodes,
 * and remove the block from corruptReplicasMap.
 * <p>
 * This method should be called when the block has sufficient
 * number of live replicas.
 *
 * @param blk Block whose corrupt replicas need to be invalidated
 */
private void invalidateCorruptReplicas(BlockInfoContiguous blk) {
  Collection<DatanodeDescriptor> nodes = corruptReplicas.getNodes(blk);
  boolean removedFromBlocksMap = true;
  if (nodes == null)
    return;
  // make a copy of the array of nodes in order to avoid
  // ConcurrentModificationException, when the block is removed from the node
  DatanodeDescriptor[] nodesCopy = nodes.toArray(new DatanodeDescriptor[0]);
  for (DatanodeDescriptor node : nodesCopy) {
    try {
      if (!invalidateBlock(new BlockToMarkCorrupt(blk, null,
            Reason.ANY), node)) {
        removedFromBlocksMap = false;
      }
    } catch (IOException e) {
      blockLog.info("invalidateCorruptReplicas error in deleting bad block"
          + " {} on {}", blk, node, e);
      removedFromBlocksMap = false;
    }
  }
  // Remove the block from corruptReplicasMap
  if (removedFromBlocksMap) {
    corruptReplicas.removeFromCorruptReplicasMap(blk);
  }
}
项目:big-c    文件:BlockManager.java   
/**
 * Invalidate corrupt replicas.
 * <p>
 * This will remove the replicas from the block's location list,
 * add them to {@link #invalidateBlocks} so that they could be further
 * deleted from the respective data-nodes,
 * and remove the block from corruptReplicasMap.
 * <p>
 * This method should be called when the block has sufficient
 * number of live replicas.
 *
 * @param blk Block whose corrupt replicas need to be invalidated
 */
private void invalidateCorruptReplicas(BlockInfoContiguous blk) {
  Collection<DatanodeDescriptor> nodes = corruptReplicas.getNodes(blk);
  boolean removedFromBlocksMap = true;
  if (nodes == null)
    return;
  // make a copy of the array of nodes in order to avoid
  // ConcurrentModificationException, when the block is removed from the node
  DatanodeDescriptor[] nodesCopy = nodes.toArray(new DatanodeDescriptor[0]);
  for (DatanodeDescriptor node : nodesCopy) {
    try {
      if (!invalidateBlock(new BlockToMarkCorrupt(blk, null,
            Reason.ANY), node)) {
        removedFromBlocksMap = false;
      }
    } catch (IOException e) {
      blockLog.info("invalidateCorruptReplicas error in deleting bad block"
          + " {} on {}", blk, node, e);
      removedFromBlocksMap = false;
    }
  }
  // Remove the block from corruptReplicasMap
  if (removedFromBlocksMap) {
    corruptReplicas.removeFromCorruptReplicasMap(blk);
  }
}
项目:hadoop-2.6.0-cdh5.4.3    文件:BlockManager.java   
/**
 * Invalidate corrupt replicas.
 * <p>
 * This will remove the replicas from the block's location list,
 * add them to {@link #invalidateBlocks} so that they could be further
 * deleted from the respective data-nodes,
 * and remove the block from corruptReplicasMap.
 * <p>
 * This method should be called when the block has sufficient
 * number of live replicas.
 *
 * @param blk Block whose corrupt replicas need to be invalidated
 */
private void invalidateCorruptReplicas(BlockInfo blk) {
  Collection<DatanodeDescriptor> nodes = corruptReplicas.getNodes(blk);
  boolean removedFromBlocksMap = true;
  if (nodes == null)
    return;
  // make a copy of the array of nodes in order to avoid
  // ConcurrentModificationException, when the block is removed from the node
  DatanodeDescriptor[] nodesCopy = nodes.toArray(new DatanodeDescriptor[0]);
  for (DatanodeDescriptor node : nodesCopy) {
    try {
      if (!invalidateBlock(new BlockToMarkCorrupt(blk, null,
            Reason.ANY), node)) {
        removedFromBlocksMap = false;
      }
    } catch (IOException e) {
      blockLog.info("invalidateCorruptReplicas error in deleting bad block"
          + " {} on {}", blk, node, e);
      removedFromBlocksMap = false;
    }
  }
  // Remove the block from corruptReplicasMap
  if (removedFromBlocksMap) {
    corruptReplicas.removeFromCorruptReplicasMap(blk);
  }
}
项目:FlexMap    文件:BlockManager.java   
/**
 * Invalidate corrupt replicas.
 * <p>
 * This will remove the replicas from the block's location list,
 * add them to {@link #invalidateBlocks} so that they could be further
 * deleted from the respective data-nodes,
 * and remove the block from corruptReplicasMap.
 * <p>
 * This method should be called when the block has sufficient
 * number of live replicas.
 *
 * @param blk Block whose corrupt replicas need to be invalidated
 */
private void invalidateCorruptReplicas(BlockInfo blk) {
  Collection<DatanodeDescriptor> nodes = corruptReplicas.getNodes(blk);
  boolean removedFromBlocksMap = true;
  if (nodes == null)
    return;
  // make a copy of the array of nodes in order to avoid
  // ConcurrentModificationException, when the block is removed from the node
  DatanodeDescriptor[] nodesCopy = nodes.toArray(new DatanodeDescriptor[0]);
  for (DatanodeDescriptor node : nodesCopy) {
    try {
      if (!invalidateBlock(new BlockToMarkCorrupt(blk, null,
            Reason.ANY), node)) {
        removedFromBlocksMap = false;
      }
    } catch (IOException e) {
      blockLog.info("invalidateCorruptReplicas "
          + "error in deleting bad block " + blk + " on " + node, e);
      removedFromBlocksMap = false;
    }
  }
  // Remove the block from corruptReplicasMap
  if (removedFromBlocksMap) {
    corruptReplicas.removeFromCorruptReplicasMap(blk);
  }
}
项目:hadoop-on-lustre2    文件:BlockManager.java   
/**
 * Invalidate corrupt replicas.
 * <p>
 * This will remove the replicas from the block's location list,
 * add them to {@link #invalidateBlocks} so that they could be further
 * deleted from the respective data-nodes,
 * and remove the block from corruptReplicasMap.
 * <p>
 * This method should be called when the block has sufficient
 * number of live replicas.
 *
 * @param blk Block whose corrupt replicas need to be invalidated
 */
private void invalidateCorruptReplicas(BlockInfo blk) {
  Collection<DatanodeDescriptor> nodes = corruptReplicas.getNodes(blk);
  boolean removedFromBlocksMap = true;
  if (nodes == null)
    return;
  // make a copy of the array of nodes in order to avoid
  // ConcurrentModificationException, when the block is removed from the node
  DatanodeDescriptor[] nodesCopy = nodes.toArray(new DatanodeDescriptor[0]);
  for (DatanodeDescriptor node : nodesCopy) {
    try {
      if (!invalidateBlock(new BlockToMarkCorrupt(blk, null,
            Reason.ANY), node)) {
        removedFromBlocksMap = false;
      }
    } catch (IOException e) {
      blockLog.info("invalidateCorruptReplicas "
          + "error in deleting bad block " + blk + " on " + node, e);
      removedFromBlocksMap = false;
    }
  }
  // Remove the block from corruptReplicasMap
  if (removedFromBlocksMap) {
    corruptReplicas.removeFromCorruptReplicasMap(blk);
  }
}
项目:hadoop    文件:BlockManager.java   
BlockToMarkCorrupt(BlockInfoContiguous corrupted,
    BlockInfoContiguous stored, String reason,
    Reason reasonCode) {
  Preconditions.checkNotNull(corrupted, "corrupted is null");
  Preconditions.checkNotNull(stored, "stored is null");

  this.corrupted = corrupted;
  this.stored = stored;
  this.reason = reason;
  this.reasonCode = reasonCode;
}
项目:aliyun-oss-hadoop-fs    文件:BlockManager.java   
/**
 * Invalidate corrupt replicas.
 * <p>
 * This will remove the replicas from the block's location list,
 * add them to {@link #invalidateBlocks} so that they could be further
 * deleted from the respective data-nodes,
 * and remove the block from corruptReplicasMap.
 * <p>
 * This method should be called when the block has sufficient
 * number of live replicas.
 *
 * @param blk Block whose corrupt replicas need to be invalidated
 */
private void invalidateCorruptReplicas(BlockInfo blk, Block reported,
    NumberReplicas numberReplicas) {
  Collection<DatanodeDescriptor> nodes = corruptReplicas.getNodes(blk);
  boolean removedFromBlocksMap = true;
  if (nodes == null)
    return;
  // make a copy of the array of nodes in order to avoid
  // ConcurrentModificationException, when the block is removed from the node
  DatanodeDescriptor[] nodesCopy =
      nodes.toArray(new DatanodeDescriptor[nodes.size()]);
  for (DatanodeDescriptor node : nodesCopy) {
    try {
      if (!invalidateBlock(new BlockToMarkCorrupt(reported, blk, null,
          Reason.ANY), node, numberReplicas)) {
        removedFromBlocksMap = false;
      }
    } catch (IOException e) {
      blockLog.debug("invalidateCorruptReplicas error in deleting bad block"
          + " {} on {}", blk, node, e);
      removedFromBlocksMap = false;
    }
  }
  // Remove the block from corruptReplicasMap
  if (removedFromBlocksMap) {
    corruptReplicas.removeFromCorruptReplicasMap(blk);
  }
}
项目:big-c    文件:BlockManager.java   
BlockToMarkCorrupt(BlockInfoContiguous corrupted,
    BlockInfoContiguous stored, String reason,
    Reason reasonCode) {
  Preconditions.checkNotNull(corrupted, "corrupted is null");
  Preconditions.checkNotNull(stored, "stored is null");

  this.corrupted = corrupted;
  this.stored = stored;
  this.reason = reason;
  this.reasonCode = reasonCode;
}
项目:hadoop-2.6.0-cdh5.4.3    文件:BlockManager.java   
BlockToMarkCorrupt(BlockInfo corrupted, BlockInfo stored, String reason,
    Reason reasonCode) {
  Preconditions.checkNotNull(corrupted, "corrupted is null");
  Preconditions.checkNotNull(stored, "stored is null");

  this.corrupted = corrupted;
  this.stored = stored;
  this.reason = reason;
  this.reasonCode = reasonCode;
}
项目:FlexMap    文件:BlockManager.java   
BlockToMarkCorrupt(BlockInfo corrupted, BlockInfo stored, String reason,
    Reason reasonCode) {
  Preconditions.checkNotNull(corrupted, "corrupted is null");
  Preconditions.checkNotNull(stored, "stored is null");

  this.corrupted = corrupted;
  this.stored = stored;
  this.reason = reason;
  this.reasonCode = reasonCode;
}
项目:hadoop-on-lustre2    文件:BlockManager.java   
BlockToMarkCorrupt(BlockInfo corrupted, BlockInfo stored, String reason,
    Reason reasonCode) {
  Preconditions.checkNotNull(corrupted, "corrupted is null");
  Preconditions.checkNotNull(stored, "stored is null");

  this.corrupted = corrupted;
  this.stored = stored;
  this.reason = reason;
  this.reasonCode = reasonCode;
}
项目:hadoop    文件:BlockManager.java   
BlockToMarkCorrupt(BlockInfoContiguous stored, String reason,
    Reason reasonCode) {
  this(stored, stored, reason, reasonCode);
}
项目:hadoop    文件:BlockManager.java   
BlockToMarkCorrupt(BlockInfoContiguous stored, long gs, String reason,
    Reason reasonCode) {
  this(new BlockInfoContiguous(stored), stored, reason, reasonCode);
  //the corrupted block in datanode has a different generation stamp
  corrupted.setGenerationStamp(gs);
}
项目:hadoop    文件:TestCorruptReplicaInfo.java   
private static void addToCorruptReplicasMap(CorruptReplicasMap crm,
    Block blk, DatanodeDescriptor dn) {
  crm.addToCorruptReplicasMap(blk, dn, "TEST", Reason.NONE);
}
项目:aliyun-oss-hadoop-fs    文件:TestCorruptReplicaInfo.java   
private static void addToCorruptReplicasMap(CorruptReplicasMap crm,
    Block blk, DatanodeDescriptor dn) {
  crm.addToCorruptReplicasMap(blk, dn, "TEST", Reason.NONE);
}
项目:big-c    文件:BlockManager.java   
BlockToMarkCorrupt(BlockInfoContiguous stored, String reason,
    Reason reasonCode) {
  this(stored, stored, reason, reasonCode);
}
项目:big-c    文件:BlockManager.java   
BlockToMarkCorrupt(BlockInfoContiguous stored, long gs, String reason,
    Reason reasonCode) {
  this(new BlockInfoContiguous(stored), stored, reason, reasonCode);
  //the corrupted block in datanode has a different generation stamp
  corrupted.setGenerationStamp(gs);
}
项目:big-c    文件:TestCorruptReplicaInfo.java   
private static void addToCorruptReplicasMap(CorruptReplicasMap crm,
    Block blk, DatanodeDescriptor dn) {
  crm.addToCorruptReplicasMap(blk, dn, "TEST", Reason.NONE);
}
项目:hadoop-2.6.0-cdh5.4.3    文件:BlockManager.java   
BlockToMarkCorrupt(BlockInfo stored, String reason, Reason reasonCode) {
  this(stored, stored, reason, reasonCode);
}
项目:hadoop-2.6.0-cdh5.4.3    文件:BlockManager.java   
BlockToMarkCorrupt(BlockInfo stored, long gs, String reason,
    Reason reasonCode) {
  this(new BlockInfo(stored), stored, reason, reasonCode);
  //the corrupted block in datanode has a different generation stamp
  corrupted.setGenerationStamp(gs);
}
项目:hadoop-2.6.0-cdh5.4.3    文件:TestCorruptReplicaInfo.java   
private static void addToCorruptReplicasMap(CorruptReplicasMap crm,
    Block blk, DatanodeDescriptor dn) {
  crm.addToCorruptReplicasMap(blk, dn, "TEST", Reason.NONE);
}
项目:FlexMap    文件:BlockManager.java   
BlockToMarkCorrupt(BlockInfo stored, String reason, Reason reasonCode) {
  this(stored, stored, reason, reasonCode);
}
项目:FlexMap    文件:BlockManager.java   
BlockToMarkCorrupt(BlockInfo stored, long gs, String reason,
    Reason reasonCode) {
  this(new BlockInfo(stored), stored, reason, reasonCode);
  //the corrupted block in datanode has a different generation stamp
  corrupted.setGenerationStamp(gs);
}
项目:FlexMap    文件:TestCorruptReplicaInfo.java   
private static void addToCorruptReplicasMap(CorruptReplicasMap crm,
    Block blk, DatanodeDescriptor dn) {
  crm.addToCorruptReplicasMap(blk, dn, "TEST", Reason.NONE);
}
项目:hadoop-on-lustre2    文件:BlockManager.java   
BlockToMarkCorrupt(BlockInfo stored, String reason, Reason reasonCode) {
  this(stored, stored, reason, reasonCode);
}
项目:hadoop-on-lustre2    文件:BlockManager.java   
BlockToMarkCorrupt(BlockInfo stored, long gs, String reason,
    Reason reasonCode) {
  this(new BlockInfo(stored), stored, reason, reasonCode);
  //the corrupted block in datanode has a different generation stamp
  corrupted.setGenerationStamp(gs);
}