public void clearForVDB(String vdbName, String version) { VDBKey vdbKey = new VDBKey(vdbName, version); clearForVDB(vdbKey); }
public void clearForVDB(String vdbName, String version) { VDBKey vdbKey = new VDBKey(vdbName, version); clearForVDB(vdbKey); }
public void clearForVDB(String vdbName, String version) { VDBKey vdbKey = new VDBKey(vdbName, version); clearForVDB(vdbKey); }
@Override public void clearCache(String cacheType, String vdbName, String vdbVersion) throws AdminException { checkVDB(vdbName, vdbVersion); if(cacheType.equals(Admin.Cache.QUERY_SERVICE_RESULT_SET_CACHE.name())){ this.embeddedServer.getRsCache().clearForVDB(new VDBKey(vdbName, vdbVersion)); } else if(cacheType.equals(Admin.Cache.PREPARED_PLAN_CACHE.name())) { this.embeddedServer.getPpcCache().clearForVDB(new VDBKey(vdbName, vdbVersion)); } else { throw new AdminProcessingException(RuntimePlugin.Util.gs(RuntimePlugin.Event.TEIID40139, cacheType, Admin.Cache.QUERY_SERVICE_RESULT_SET_CACHE, Admin.Cache.PREPARED_PLAN_CACHE)); } }
@Override public void removed(String name, CompositeVDB vdb) { if (replicator != null) { replicator.stop(vdb.getVDB().getAttachment(GlobalTableStore.class)); } rs.clearForVDB(vdb.getVDBKey()); ppc.clearForVDB(vdb.getVDBKey()); for (SessionMetadata session : sessionService.getSessionsLoggedInToVDB(vdb.getVDBKey())) { try { sessionService.closeSession(session.getSessionId()); } catch (InvalidSessionException e) { } } }
@Test public void testVDBRemoval() { SessionAwareCache<Cachable> cache = new SessionAwareCache<Cachable>("resultset", DefaultCacheFactory.INSTANCE, SessionAwareCache.Type.RESULTSET, 0); CacheID id = new CacheID(buildWorkContext(), new ParseInfo(), "SELECT * FROM FOO"); Cachable result = Mockito.mock(Cachable.class); Mockito.stub(result.prepare((BufferManager)anyObject())).toReturn(true); Mockito.stub(result.restore((BufferManager)anyObject())).toReturn(true); id = new CacheID(buildWorkContext(), new ParseInfo(), "SELECT * FROM FOO"); cache.put(id, Determinism.VDB_DETERMINISTIC, result, null); Object c = cache.get(id); assertTrue(result==c); cache.clearForVDB("vdb-name", "1"); assertNull(cache.get(id)); }
@Test public void testClear() { SessionAwareCache<Cachable> cache = new SessionAwareCache<Cachable>("resultset", DefaultCacheFactory.INSTANCE, SessionAwareCache.Type.RESULTSET, 0); DQPWorkContext context = buildWorkContext(); CacheID id = new CacheID(context, new ParseInfo(), "SELECT * FROM FOO"); Cachable result = Mockito.mock(Cachable.class); Mockito.stub(result.prepare((BufferManager)anyObject())).toReturn(true); Mockito.stub(result.restore((BufferManager)anyObject())).toReturn(true); id = new CacheID(context, new ParseInfo(), "SELECT * FROM FOO"); cache.put(id, Determinism.VDB_DETERMINISTIC, result, null); id = new CacheID(context, new ParseInfo(), "SELECT * FROM FOO1"); cache.put(id, Determinism.VDB_DETERMINISTIC, result, null); assertEquals(2, cache.getTotalCacheEntries()); cache.clearForVDB(context.getVdbName(), context.getVdbVersion()); assertEquals(0, cache.getTotalCacheEntries()); }