@Override
    public void close() {
        secondary.shutdown();
        join(secondary);
        primary.shutdown();
        join(primary);
    }
An executor that will first try a bounded cached thread pool before falling back to an unbounded
single threaded thread pool that will take over dispatching to the primary pool.
vespajlib/src/main/java/com/yahoo/concurrent/CachedThreadPoolWithFallback.java