/** {@inheritDoc} */
  protected GridCacheConfiguration cacheConfiguration(String cacheName) {
    GridCacheConfiguration cacheCfg = defaultCacheConfiguration();

    cacheCfg.setName(cacheName);

    if (META_CACHE_NAME.equals(cacheName)) cacheCfg.setCacheMode(REPLICATED);
    else {
      cacheCfg.setCacheMode(PARTITIONED);
      cacheCfg.setDistributionMode(GridCacheDistributionMode.PARTITIONED_ONLY);

      cacheCfg.setBackups(0);
      cacheCfg.setAffinityMapper(new GridGgfsGroupDataBlocksKeyMapper(CFG_GRP_SIZE));
    }

    cacheCfg.setWriteSynchronizationMode(GridCacheWriteSynchronizationMode.FULL_SYNC);
    cacheCfg.setAtomicityMode(TRANSACTIONAL);
    cacheCfg.setQueryIndexEnabled(false);

    return cacheCfg;
  }