private void disableCache() {
    if (!isCacheEnabled()) {
      return;
    }
    LOG.info("Disabling cache");
    cacheState = CacheState.DISABLED;
    ioEngine.shutdown();
    this.scheduleThreadPool.shutdown();
    for (int i = 0; i < writerThreads.length; ++i)
      writerThreads[i].interrupt();
    this.ramCache.clear();
    if (!ioEngine.isPersistent() || persistencePath == null) {
      // If persistent ioengine and a path, we will serialize out the backingMap.
      this.backingMap.clear();
      this.blocksByHFile.clear();
      this.fullyCachedFiles.clear();
      this.regionCachedSize.clear();
    }
    if (cacheStats.getMetricsRollerScheduler() != null) {
      cacheStats.getMetricsRollerScheduler().shutdownNow();
    }
  }
Used to shut down the cache -or- turn it off in the case of something broken.
hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.java