@Test public void testCacheHit() throws IOException, MetaException, LoginException { HiveClientCache cache = new HiveClientCache(1000); HiveMetaStoreClient client = cache.get(hiveConf); assertNotNull(client); client.close(); hiveConf.setIntVar(HiveConf.ConfVars.DYNAMICPARTITIONMAXPARTS, 10); HiveMetaStoreClient client2 = cache.get(hiveConf); assertNotNull(client2); assertEquals(client, client2); client2.close(); }
public HiveMetaStoreClient get(final HiveConf hiveConf) throws MetaException, IOException, LoginException { final HiveClientCacheKey cacheKey = HiveClientCacheKey.fromHiveConf(hiveConf, getThreadId()); CacheableHiveMetaStoreClient hiveMetaStoreClient = null; synchronized (CACHE_TEARDOWN_LOCK) { hiveMetaStoreClient = getOrCreate(cacheKey); hiveMetaStoreClient.acquire(); } if (!hiveMetaStoreClient.isOpen()) { synchronized (CACHE_TEARDOWN_LOCK) { hiveCache.invalidate(cacheKey); hiveMetaStoreClient.close(); hiveMetaStoreClient = getOrCreate(cacheKey); hiveMetaStoreClient.acquire(); } } return hiveMetaStoreClient; }
HiveClientCache { public HiveMetaStoreClient get(final HiveConf hiveConf) throws MetaException, IOException, LoginException { final HiveClientCacheKey cacheKey = HiveClientCacheKey.fromHiveConf(hiveConf, getThreadId()); CacheableHiveMetaStoreClient hiveMetaStoreClient = null; synchronized (CACHE_TEARDOWN_LOCK) { hiveMetaStoreClient = getOrCreate(cacheKey); hiveMetaStoreClient.acquire(); } if (!hiveMetaStoreClient.isOpen()) { synchronized (CACHE_TEARDOWN_LOCK) { hiveCache.invalidate(cacheKey); hiveMetaStoreClient.close(); hiveMetaStoreClient = getOrCreate(cacheKey); hiveMetaStoreClient.acquire(); } } return hiveMetaStoreClient; } }
HiveClientCache { public HiveMetaStoreClient get(final HiveConf hiveConf) throws MetaException, IOException, LoginException { final HiveClientCacheKey cacheKey = HiveClientCacheKey.fromHiveConf(hiveConf, getThreadId()); CacheableHiveMetaStoreClient hiveMetaStoreClient = null; synchronized (CACHE_TEARDOWN_LOCK) { hiveMetaStoreClient = getOrCreate(cacheKey); hiveMetaStoreClient.acquire(); } if (!hiveMetaStoreClient.isOpen()) { synchronized (CACHE_TEARDOWN_LOCK) { hiveCache.invalidate(cacheKey); hiveMetaStoreClient.close(); hiveMetaStoreClient = getOrCreate(cacheKey); hiveMetaStoreClient.acquire(); } } return hiveMetaStoreClient; } HiveClientCache(HiveConf hiveConf);  HiveClientCache(final int timeout); }
HiveClientCache { public HiveMetaStoreClient get(final HiveConf hiveConf) throws MetaException, IOException, LoginException { final HiveClientCacheKey cacheKey = HiveClientCacheKey.fromHiveConf(hiveConf, getThreadId()); CacheableHiveMetaStoreClient hiveMetaStoreClient = null; synchronized (CACHE_TEARDOWN_LOCK) { hiveMetaStoreClient = getOrCreate(cacheKey); hiveMetaStoreClient.acquire(); } if (!hiveMetaStoreClient.isOpen()) { synchronized (CACHE_TEARDOWN_LOCK) { hiveCache.invalidate(cacheKey); hiveMetaStoreClient.close(); hiveMetaStoreClient = getOrCreate(cacheKey); hiveMetaStoreClient.acquire(); } } return hiveMetaStoreClient; } HiveClientCache(HiveConf hiveConf);  HiveClientCache(final int timeout); static HiveMetaStoreClient getNonCachedHiveClient(HiveConf hiveConf); void cleanup(); HiveMetaStoreClient get(final HiveConf hiveConf); }
HiveClientCache { public HiveMetaStoreClient get(final HiveConf hiveConf) throws MetaException, IOException, LoginException { final HiveClientCacheKey cacheKey = HiveClientCacheKey.fromHiveConf(hiveConf, getThreadId()); CacheableHiveMetaStoreClient hiveMetaStoreClient = null; synchronized (CACHE_TEARDOWN_LOCK) { hiveMetaStoreClient = getOrCreate(cacheKey); hiveMetaStoreClient.acquire(); } if (!hiveMetaStoreClient.isOpen()) { synchronized (CACHE_TEARDOWN_LOCK) { hiveCache.invalidate(cacheKey); hiveMetaStoreClient.close(); hiveMetaStoreClient = getOrCreate(cacheKey); hiveMetaStoreClient.acquire(); } } return hiveMetaStoreClient; } HiveClientCache(HiveConf hiveConf);  HiveClientCache(final int timeout); static HiveMetaStoreClient getNonCachedHiveClient(HiveConf hiveConf); void cleanup(); HiveMetaStoreClient get(final HiveConf hiveConf); final static int DEFAULT_HIVE_CACHE_EXPIRY_TIME_SECONDS; }