apache/seatunnel · warning · IOException

Interrupted closing target_point_lookup workers

Error message

Interrupted closing target_point_lookup workers

What it means

While shutting down the worker pool used for target point lookups, loadPoints awaits termination; an InterruptedException during that await is rethrown as IOException('Interrupted closing target_point_lookup workers') when no earlier failure exists. It means job cancellation/interruption struck during worker cleanup.

Source

Thrown at seatunnel-connectors-v2/connector-file/connector-file-base/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/source/reader/UpdateFileMetadataLoader.java:221

                future.cancel(true);
            }
            executor.shutdownNow();
            try {
                if (!executor.awaitTermination(30, TimeUnit.SECONDS)) {
                    IOException cleanupFailure =
                            new IOException("Timed out closing target_point_lookup workers");
                    if (failure != null) {
                        failure.addSuppressed(cleanupFailure);
                    } else {
                        throw cleanupFailure;
                    }
                }
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
                if (failure != null) {
                    failure.addSuppressed(e);
                } else {
                    throw new IOException("Interrupted closing target_point_lookup workers", e);
                }
            }
        }
    }

    @Getter
    static final class Request {
        private final int order;
        private final String targetPath;

        Request(int order, String targetPath) {
            this.order = order;
            this.targetPath = targetPath;
        }
    }

    @Getter
    static final class Result {

View on GitHub (pinned to cf67b549a7)

Solutions

  1. Usually benign on intentional job cancellation — no action needed
  2. If unexpected, check engine logs for who interrupted the task (failover, timeout) and raise task/checkpoint timeouts if too aggressive
  3. Rerun the job; incremental metadata loading is resumable
Defensive patterns

Strategy: try-catch

Try / catch

try {
    loader.load(requests);
} catch (IOException e) {
    if (e.getMessage().contains("Interrupted closing target_point_lookup workers")) {
        LOG.info("Job interrupted during metadata loader shutdown; safe to rerun");
    } else throw e;
}

Prevention

When it happens

Trigger: Thread interrupted while awaiting worker-pool termination in loadPoints — typically job cancellation, kill, or checkpoint/task interruption arriving during shutdown; only thrown when there was no prior lookup failure to attach the interrupt to.

Common situations: Users cancelling long-running jobs; engine killing tasks due to timeout or failover; shutdown hooks interrupting the thread during deployment restarts.

Understand the failure class

Background: "Invalid state transition" errors: "status must be X, actually Y", "already rejected/charging/uninstalled", "cannot ... while running" — what they mean when a library rejects your call — this error's family across 31 libraries.

Related errors


AI-assisted analysis of apache/seatunnel@cf67b549a7 (2026-09-10). Data as JSON: /api/errors/68ac65ad8a93b68e. Report an issue: GitHub.