/** * @param cfg Grid configuration. * @param cacheName Cache name. * @return {@code True} in this is GGFS data or meta cache. */ public static boolean isGgfsCache(GridConfiguration cfg, @Nullable String cacheName) { GridGgfsConfiguration[] ggfsCfgs = cfg.getGgfsConfiguration(); if (ggfsCfgs != null) { for (GridGgfsConfiguration ggfsCfg : ggfsCfgs) { // GGFS config probably has not been validated yet => possible NPE, so we check for null. if (ggfsCfg != null && (F.eq(cacheName, ggfsCfg.getDataCacheName()) || F.eq(cacheName, ggfsCfg.getMetaCacheName()))) return true; } } return false; }
/** {@inheritDoc} */ @Override protected void start0() throws GridException { cfg = ggfsCtx.configuration(); metaCache = ggfsCtx.kernalContext().cache().cache(cfg.getMetaCacheName()); if (metaCache.configuration().getAtomicityMode() != TRANSACTIONAL) throw new GridException("Meta cache should be transactional: " + cfg.getMetaCacheName()); evts = ggfsCtx.kernalContext().event(); sampling = new GridGgfsSamplingKey(cfg.getName()); assert metaCache != null; id2InfoPrj = (GridCacheProjectionEx<GridUuid, GridGgfsFileInfo>)metaCache.<GridUuid, GridGgfsFileInfo>cache(); log = ggfsCtx.kernalContext().log(GridGgfsMetaManager.class); }
/** {@inheritDoc} */ @Override protected void start0() throws GridException { cfg = ggfsCtx.configuration(); metaCache = ggfsCtx.kernalContext().cache().cache(cfg.getMetaCacheName()); metaCacheStartFut = ggfsCtx.kernalContext().cache().internalCache(cfg.getMetaCacheName()).preloader() .startFuture(); if (metaCache.configuration().getAtomicityMode() != TRANSACTIONAL) throw new GridException("Meta cache should be transactional: " + cfg.getMetaCacheName()); evts = ggfsCtx.kernalContext().event(); sampling = new GridGgfsSamplingKey(cfg.getName()); assert metaCache != null; id2InfoPrj = (GridCacheProjectionEx<GridUuid, GridGgfsFileInfo>)metaCache.<GridUuid, GridGgfsFileInfo>cache(); log = ggfsCtx.kernalContext().log(GridGgfsMetaManager.class); }
ggfsCfg.getBlockSize(), ((GridGgfsGroupDataBlocksKeyMapper)affMapper).groupSize(), ggfsCfg.getMetaCacheName(), ggfsCfg.getDataCacheName(), ggfsCfg.getDefaultMode(),
ggfsCfg.getBlockSize(), ((GridGgfsGroupDataBlocksKeyMapper)affMapper).groupSize(), ggfsCfg.getMetaCacheName(), ggfsCfg.getDataCacheName(), ggfsCfg.getDefaultMode(),
throw new GridException("GGFS data cache cannot start with enabled query indexing."); GridCache<Object, Object> metaCache = ctx.cache().cache(cfg.getMetaCacheName()); throw new GridException("GGFS metadata cache cannot start with enabled query indexing."); if (F.eq(cfg.getDataCacheName(), cfg.getMetaCacheName())) throw new GridException("Cannot use same cache as both data and meta cache: " + cfg.getName());
throw new GridException("GGFS data cache cannot start with enabled query indexing."); GridCache<Object, Object> metaCache = ctx.cache().cache(cfg.getMetaCacheName()); throw new GridException("GGFS metadata cache cannot start with enabled query indexing."); if (F.eq(cfg.getDataCacheName(), cfg.getMetaCacheName())) throw new GridException("Cannot use same cache as both data and meta cache: " + cfg.getName());
cfg.metaCacheName(ggfs.getMetaCacheName()); cfg.dataCacheName(ggfs.getDataCacheName()); cfg.blockSize(ggfs.getBlockSize());
maxSpace = cfg.getMaxSpaceSize(); maxTaskRangeLen = cfg.getMaximumTaskRangeLength(); metaCacheName = cfg.getMetaCacheName(); mgmtPort = cfg.getManagementPort(); name = cfg.getName();
sysCaches.add(ggfsCfg.getMetaCacheName()); sysCaches.add(ggfsCfg.getDataCacheName());