org.apache.hadoop.hdfs.server.balancer
Class MovedBlocks<L>

java.lang.Object
  extended by org.apache.hadoop.hdfs.server.balancer.MovedBlocks<L>
Type Parameters:
L - Location type

public class MovedBlocks<L>
extends Object

This window makes sure to keep blocks that have been moved within a fixed time interval (default is 1.5 hour). Old window has blocks that are older; Current window has blocks that are more recent; Cleanup method triggers the check if blocks in the old window are more than the fixed time interval. If yes, purge the old window and then move blocks in current window to old window.


Nested Class Summary
static class MovedBlocks.Locations<L>
          A class for keeping track of a block and its locations
 
Constructor Summary
MovedBlocks(long winTimeInterval)
          initialize the moved blocks collection
 
Method Summary
 void cleanup()
          remove old blocks
 boolean contains(org.apache.hadoop.hdfs.protocol.Block block)
           
 void put(MovedBlocks.Locations<L> block)
          add a block thus marking a block to be moved
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MovedBlocks

public MovedBlocks(long winTimeInterval)
initialize the moved blocks collection

Method Detail

put

public void put(MovedBlocks.Locations<L> block)
add a block thus marking a block to be moved


contains

public boolean contains(org.apache.hadoop.hdfs.protocol.Block block)
Returns:
if a block is marked as moved

cleanup

public void cleanup()
remove old blocks



Copyright © 2014 Apache Software Foundation. All Rights Reserved.