CacheManager(FSNamesystem namesystem, Configuration conf, BlockManager blockManager) { this.namesystem = namesystem; this.blockManager = blockManager; this.nextDirectiveId = 1; this.enabled = conf.getBoolean(DFS_NAMENODE_CACHING_ENABLED_KEY, DFS_NAMENODE_CACHING_ENABLED_DEFAULT); this.maxListCachePoolsResponses = conf.getInt( DFS_NAMENODE_LIST_CACHE_POOLS_NUM_RESPONSES, DFS_NAMENODE_LIST_CACHE_POOLS_NUM_RESPONSES_DEFAULT); this.maxListCacheDirectivesNumResponses = conf.getInt( DFS_NAMENODE_LIST_CACHE_DIRECTIVES_NUM_RESPONSES, DFS_NAMENODE_LIST_CACHE_DIRECTIVES_NUM_RESPONSES_DEFAULT); scanIntervalMs = conf.getLong( DFS_NAMENODE_PATH_BASED_CACHE_REFRESH_INTERVAL_MS, DFS_NAMENODE_PATH_BASED_CACHE_REFRESH_INTERVAL_MS_DEFAULT); float cachedBlocksPercent = conf.getFloat( DFS_NAMENODE_PATH_BASED_CACHE_BLOCK_MAP_ALLOCATION_PERCENT, DFS_NAMENODE_PATH_BASED_CACHE_BLOCK_MAP_ALLOCATION_PERCENT_DEFAULT); if (cachedBlocksPercent < MIN_CACHED_BLOCKS_PERCENT) { LOG.info("Using minimum value {} for {}", MIN_CACHED_BLOCKS_PERCENT, DFS_NAMENODE_PATH_BASED_CACHE_BLOCK_MAP_ALLOCATION_PERCENT); cachedBlocksPercent = MIN_CACHED_BLOCKS_PERCENT; } this.cachedBlocks = enabled ? new LightWeightGSet<CachedBlock, CachedBlock>( LightWeightGSet.computeCapacity(cachedBlocksPercent, "cachedBlocks")) : new LightWeightGSet<>(0); }
static INodeMap newInstance(INodeDirectory rootDir) { // Compute the map capacity by allocating 1% of total memory int capacity = LightWeightGSet.computeCapacity(1, "INodeMap"); GSet<INode, INodeWithAdditionalFields> map = new LightWeightGSet<>(capacity); map.put(rootDir); return new INodeMap(map); }
CacheManager(FSNamesystem namesystem, Configuration conf, BlockManager blockManager) { this.namesystem = namesystem; this.blockManager = blockManager; this.nextDirectiveId = 1; this.maxListCachePoolsResponses = conf.getInt( DFS_NAMENODE_LIST_CACHE_POOLS_NUM_RESPONSES, DFS_NAMENODE_LIST_CACHE_POOLS_NUM_RESPONSES_DEFAULT); this.maxListCacheDirectivesNumResponses = conf.getInt( DFS_NAMENODE_LIST_CACHE_DIRECTIVES_NUM_RESPONSES, DFS_NAMENODE_LIST_CACHE_DIRECTIVES_NUM_RESPONSES_DEFAULT); scanIntervalMs = conf.getLong( DFS_NAMENODE_PATH_BASED_CACHE_REFRESH_INTERVAL_MS, DFS_NAMENODE_PATH_BASED_CACHE_REFRESH_INTERVAL_MS_DEFAULT); float cachedBlocksPercent = conf.getFloat( DFS_NAMENODE_PATH_BASED_CACHE_BLOCK_MAP_ALLOCATION_PERCENT, DFS_NAMENODE_PATH_BASED_CACHE_BLOCK_MAP_ALLOCATION_PERCENT_DEFAULT); if (cachedBlocksPercent < MIN_CACHED_BLOCKS_PERCENT) { LOG.info("Using minimum value {} for {}", MIN_CACHED_BLOCKS_PERCENT, DFS_NAMENODE_PATH_BASED_CACHE_BLOCK_MAP_ALLOCATION_PERCENT); cachedBlocksPercent = MIN_CACHED_BLOCKS_PERCENT; } this.cachedBlocks = new LightWeightGSet<CachedBlock, CachedBlock>( LightWeightGSet.computeCapacity(cachedBlocksPercent, "cachedBlocks")); }
CacheManager(FSNamesystem namesystem, Configuration conf, BlockManager blockManager) { this.namesystem = namesystem; this.blockManager = blockManager; this.nextDirectiveId = 1; this.maxListCachePoolsResponses = conf.getInt( DFS_NAMENODE_LIST_CACHE_POOLS_NUM_RESPONSES, DFS_NAMENODE_LIST_CACHE_POOLS_NUM_RESPONSES_DEFAULT); this.maxListCacheDirectivesNumResponses = conf.getInt( DFS_NAMENODE_LIST_CACHE_DIRECTIVES_NUM_RESPONSES, DFS_NAMENODE_LIST_CACHE_DIRECTIVES_NUM_RESPONSES_DEFAULT); scanIntervalMs = conf.getLong( DFS_NAMENODE_PATH_BASED_CACHE_REFRESH_INTERVAL_MS, DFS_NAMENODE_PATH_BASED_CACHE_REFRESH_INTERVAL_MS_DEFAULT); float cachedBlocksPercent = conf.getFloat( DFS_NAMENODE_PATH_BASED_CACHE_BLOCK_MAP_ALLOCATION_PERCENT, DFS_NAMENODE_PATH_BASED_CACHE_BLOCK_MAP_ALLOCATION_PERCENT_DEFAULT); if (cachedBlocksPercent < MIN_CACHED_BLOCKS_PERCENT) { LOG.info("Using minimum value {} for {}", MIN_CACHED_BLOCKS_PERCENT, DFS_NAMENODE_PATH_BASED_CACHE_BLOCK_MAP_ALLOCATION_PERCENT); cachedBlocksPercent = MIN_CACHED_BLOCKS_PERCENT; } this.cachedBlocks = new LightWeightGSet<CachedBlock, CachedBlock>( LightWeightGSet.computeCapacity(cachedBlocksPercent, "cachedBlocks")); }
private static GSet<IntElement, IntElement> createGSet(final IntElement[] data) { final GSet<IntElement, IntElement> gset = new LightWeightGSet<IntElement, IntElement>(8); for(int i = 1; i < data.length; i++) { gset.put(data[i]); } return gset; }
private static GSet<IntElement, IntElement> createGSet(final IntElement[] data) { final GSet<IntElement, IntElement> gset = new LightWeightGSet<IntElement, IntElement>(8); for(int i = 1; i < data.length; i++) { gset.put(data[i]); } return gset; }
static INodeMap newInstance(INodeDirectory rootDir) { // Compute the map capacity by allocating 1% of total memory int capacity = LightWeightGSet.computeCapacity(1, "INodeMap"); GSet<INode, INodeWithAdditionalFields> map = new LightWeightGSet<INode, INodeWithAdditionalFields>(capacity); map.put(rootDir); return new INodeMap(map); }
static INodeMap newInstance(INodeDirectory rootDir) { // Compute the map capacity by allocating 1% of total memory int capacity = LightWeightGSet.computeCapacity(1, "INodeMap"); GSet<INode, INodeWithAdditionalFields> map = new LightWeightGSet<INode, INodeWithAdditionalFields>(capacity); map.put(rootDir); return new INodeMap(map); }
GSetTestCase(int tablelength, int datasize, int modulus) { denominator = Math.min((datasize >> 7) + 1, 1 << 16); info = getClass().getSimpleName() + ": tablelength=" + tablelength + ", datasize=" + datasize + ", modulus=" + modulus + ", denominator=" + denominator; println(info); data = new IntData(datasize, modulus); gset = new LightWeightGSet<IntElement, IntElement>(tablelength); Assert.assertEquals(0, gset.size()); }
GSetTestCase(int tablelength, int datasize, int modulus) { denominator = Math.min((datasize >> 7) + 1, 1 << 16); info = getClass().getSimpleName() + ": tablelength=" + tablelength + ", datasize=" + datasize + ", modulus=" + modulus + ", denominator=" + denominator; println(info); data = new IntData(datasize, modulus); gset = new LightWeightGSet<IntElement, IntElement>(tablelength); Assert.assertEquals(0, gset.size()); }
@Test(timeout=60000) public void testRemoveAllViaIterator() { ArrayList<Integer> list = getRandomList(100, 123); LightWeightGSet<TestElement, TestElement> set = new LightWeightGSet<TestElement, TestElement>(16); for (Integer i : list) { set.put(new TestElement(i)); } for (Iterator<TestElement> iter = set.iterator(); iter.hasNext(); ) { iter.next(); iter.remove(); } Assert.assertEquals(0, set.size()); }
@Test(timeout=60000) public void testRemoveAllViaIterator() { ArrayList<Integer> list = getRandomList(100, 123); LightWeightGSet<TestElement, TestElement> set = new LightWeightGSet<TestElement, TestElement>(16); for (Integer i : list) { set.put(new TestElement(i)); } for (Iterator<TestElement> iter = set.iterator(); iter.hasNext(); ) { iter.next(); iter.remove(); } Assert.assertEquals(0, set.size()); }
@Test(timeout=60000) public void testRemoveSomeViaIterator() { ArrayList<Integer> list = getRandomList(100, 123); LightWeightGSet<TestElement, TestElement> set = new LightWeightGSet<TestElement, TestElement>(16); for (Integer i : list) { set.put(new TestElement(i)); } long sum = 0; for (Iterator<TestElement> iter = set.iterator(); iter.hasNext(); ) { sum += iter.next().getVal(); } long mode = sum / set.size(); LOG.info("Removing all elements above " + mode); for (Iterator<TestElement> iter = set.iterator(); iter.hasNext(); ) { int item = iter.next().getVal(); if (item > mode) { iter.remove(); } } for (Iterator<TestElement> iter = set.iterator(); iter.hasNext(); ) { Assert.assertTrue(iter.next().getVal() <= mode); } } }
@Test(timeout=60000) public void testRemoveSomeViaIterator() { ArrayList<Integer> list = getRandomList(100, 123); LightWeightGSet<TestElement, TestElement> set = new LightWeightGSet<TestElement, TestElement>(16); for (Integer i : list) { set.put(new TestElement(i)); } long sum = 0; for (Iterator<TestElement> iter = set.iterator(); iter.hasNext(); ) { sum += iter.next().getVal(); } long mode = sum / set.size(); LOG.info("Removing all elements above " + mode); for (Iterator<TestElement> iter = set.iterator(); iter.hasNext(); ) { int item = iter.next().getVal(); if (item > mode) { iter.remove(); } } for (Iterator<TestElement> iter = set.iterator(); iter.hasNext(); ) { Assert.assertTrue(iter.next().getVal() <= mode); } } }
= new LightWeightGSet<Integer, Integer>(16); try { = new LightWeightGSet<Integer, Integer>(16); try { = new LightWeightGSet<Integer, Integer>(16); try {
= new LightWeightGSet<Integer, Integer>(16); try { = new LightWeightGSet<Integer, Integer>(16); try { = new LightWeightGSet<Integer, Integer>(16); try {