use of org.apache.carbondata.core.datastore.TableSegmentUniqueIdentifier in project carbondata by apache.
the class CacheProviderTest method driverExecutorCacheConfTest.
/**
* to test the driver and executor lru memory configuration
*
* @throws IOException
* @throws NoSuchFieldException
* @throws IllegalAccessException
*/
@Test
public void driverExecutorCacheConfTest() throws IOException, NoSuchFieldException, IllegalAccessException {
// get cache provider instance
CacheProvider cacheProvider = CacheProvider.getInstance();
cacheProvider.dropAllCache();
CarbonProperties.getInstance().addProperty(CarbonCommonConstants.IS_DRIVER_INSTANCE, "true");
Cache<TableSegmentUniqueIdentifier, SegmentTaskIndexStore> driverCache = cacheProvider.createCache(CacheType.DRIVER_BTREE);
Field carbonLRUCacheField = SegmentTaskIndexStore.class.getDeclaredField("lruCache");
carbonLRUCacheField.setAccessible(true);
CarbonLRUCache carbonLRUCache = (CarbonLRUCache) carbonLRUCacheField.get(driverCache);
Field lruCacheMemorySizeField = CarbonLRUCache.class.getDeclaredField("lruCacheMemorySize");
lruCacheMemorySizeField.setAccessible(true);
long lruCacheMemorySize = (long) lruCacheMemorySizeField.get(carbonLRUCache);
String driverCacheSize = CarbonProperties.getInstance().getProperty(CarbonCommonConstants.CARBON_MAX_DRIVER_LRU_CACHE_SIZE);
assertEquals(1024 * 1024 * Integer.parseInt(driverCacheSize), lruCacheMemorySize);
// drop cache
cacheProvider.dropAllCache();
// validation test for the executor memory.
CarbonProperties.getInstance().addProperty(CarbonCommonConstants.IS_DRIVER_INSTANCE, "false");
Cache<TableBlockUniqueIdentifier, BlockIndexStore> executorCache = cacheProvider.createCache(CacheType.EXECUTOR_BTREE);
carbonLRUCacheField = BlockIndexStore.class.getSuperclass().getDeclaredField("lruCache");
carbonLRUCacheField.setAccessible(true);
carbonLRUCache = (CarbonLRUCache) carbonLRUCacheField.get(executorCache);
lruCacheMemorySizeField = CarbonLRUCache.class.getDeclaredField("lruCacheMemorySize");
lruCacheMemorySizeField.setAccessible(true);
lruCacheMemorySize = (long) lruCacheMemorySizeField.get(carbonLRUCache);
String executorCacheSize = CarbonProperties.getInstance().getProperty(CarbonCommonConstants.CARBON_MAX_EXECUTOR_LRU_CACHE_SIZE);
assertEquals(1024 * 1024 * Integer.parseInt(executorCacheSize), lruCacheMemorySize);
cacheProvider.dropAllCache();
}
Aggregations