synchronized void start(UncaughtExceptionHandler eh) {
    this.flusherThreadFactory =
      new ThreadFactoryBuilder().setDaemon(true).setUncaughtExceptionHandler(eh).build();
    lock.readLock().lock();
    try {
      startFlushHandlerThreads(flushHandlers, 0, flushHandlers.length);
    } finally {
      lock.readLock().unlock();
    }
  }
Only interrupt once it's done with a run through the work loop.
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreFlusher.java