private synchronized void abort(final Throwable error) {
    if (completing.compareAndSet(false, true)) {
      inputPipe.abort();
      pipes.forEach(Pipe::abort);
      futures.forEach(future -> future.cancel(true));
      overallFuture.completeExceptionally(error);
    }
  }
Abort execution of this pipeline. The future returned by {@link #start(ExecutorService)} will
be completed with a {@link CancellationException}.

<p>A best effort is made to halt all processing by the pipeline immediately by interrupting
each execution thread and pipes connecting each stage will no longer accept or provide further
items.
services/pipeline/src/main/java/org/hyperledger/besu/services/pipeline/Pipeline.java