@Override public void close() { downloadCache.close(); stagingCache.close(); }
@Override public void close() { downloadCache.close(); stagingCache.close(); }
@Override public void close() { downloadCache.close(); stagingCache.close(); }
/** * Trigger build cache on start. * @throws Exception */ @Test public void rebuild() throws Exception { LOG.info("Started rebuild"); afterExecuteLatch.await(); LOG.info("Cache built"); File f = createFile(0, loader, cache, folder); assertCache(0, cache, f); cache.close(); CountDownLatch beforeLatch = new CountDownLatch(1); CountDownLatch afterLatch = new CountDownLatch(1); afterExecuteLatch = new CountDownLatch(1); TestExecutor executor = new TestExecutor(1, beforeLatch, afterLatch, afterExecuteLatch); beforeLatch.countDown(); afterLatch.countDown(); cache = FileCache.build(4 * 1024/* bytes */, root, loader, executor); closer.register(cache); afterExecuteLatch.await(); Futures.successfulAsList((Iterable<? extends ListenableFuture<?>>) executor.futures).get(); LOG.info("Cache rebuilt"); assertCacheIfPresent(0, cache, f); assertCacheStats(cache, 1, 4 * 1024, 0, 0); LOG.info("Finished rebuild"); }
/** * Trigger upgrade cache on start. * @throws Exception */ @Test public void upgrade() throws Exception { LOG.info("Started upgrade"); afterExecuteLatch.await(); File f = createFile(0, loader, cache, folder); assertCache(0, cache, f); cache.close(); copyToFile(randomStream(1, 4 * 1024), getFile(ID_PREFIX + 1, root)); CountDownLatch beforeLatch = new CountDownLatch(1); CountDownLatch afterLatch = new CountDownLatch(1); afterExecuteLatch = new CountDownLatch(1); TestExecutor executor = new TestExecutor(1, beforeLatch, afterLatch, afterExecuteLatch); beforeLatch.countDown(); afterLatch.countDown(); cache = FileCache.build(4 * 1024/* bytes */, root, loader, executor); closer.register(cache); afterExecuteLatch.await(); Futures.successfulAsList((Iterable<? extends ListenableFuture<?>>) executor.futures).get(); LOG.info("Cache rebuilt"); assertCacheIfPresent(0, cache, f); assertCacheIfPresent(1, cache, copyToFile(randomStream(1, 4 * 1024), folder.newFile())); assertFalse(getFile(ID_PREFIX + 1, root).exists()); assertCacheStats(cache, 2, 8 * 1024, 0, 0); LOG.info("Finished upgrade"); }
@Test public void zeroCache() throws Exception { LOG.info("Started zeroCache"); cache = FileCache.build(0/* KB */, root, loader, null); closer.register(cache); File f = createFile(0, loader, cache, folder); cache.put(ID_PREFIX + 0, f); assertNull(cache.getIfPresent(ID_PREFIX + 0)); assertNull(cache.get(ID_PREFIX + 0)); assertEquals(0, cache.getStats().getMaxTotalWeight()); cache.invalidate(ID_PREFIX + 0); assertFalse(cache.containsKey(ID_PREFIX + 0)); cache.close(); LOG.info("Finished zeroCache"); }