jdbc-protolib/src/main/java/com/streamsets/pipeline/stage/processor/jdbclookup/JdbcLookupProcessor.java
@Override
  public void destroy() {
    if (getContext().getRunnerId() == 0) {
      if (generationExecutor != null) {
        generationExecutor.shutdown();
        try {
          if (!generationExecutor.awaitTermination(5, TimeUnit.SECONDS)) {
            generationExecutor.shutdownNow();
          }
        } catch (InterruptedException ex) {
          LOG.error("Interrupted while attempting to shutdown Generator Executor: ", ex);
          Thread.currentThread().interrupt();
        }
      }

      // close dataSource after closing threadpool executor as we could have queries running before closing the executor
      if (jdbcUtil != null) {
        jdbcUtil.closeQuietly(dataSource);
      }
    }

    super.destroy();
  }
@Override
  public void destroy() {
    if (getContext().getRunnerId() == 0) {
      if (generationExecutor != null) {
        generationExecutor.shutdown();
        try {
          if (!generationExecutor.awaitTermination(5, TimeUnit.SECONDS)) {
            generationExecutor.shutdownNow();
          }
        } catch (InterruptedException ex) {
          LOG.error("Interrupted while attempting to shutdown Generator Executor: ", ex);
          Thread.currentThread().interrupt();
        }
      }

      // close dataSource after closing threadpool executor as we could have queries running before closing the executor
      if (jdbcUtil != null) {
        jdbcUtil.closeQuietly(dataSource);
      }
    }

    super.destroy();
  }
{@inheritDoc}