apache/seatunnel · error · SeaTunnelEngineException

The user is not configured to enable connector package servi

Error message

The user is not configured to enable connector package service, can not get connector package service service from master node.

What it means

CoordinatorService.getConnectorPackageService throws SeaTunnelEngineException when connectorPackageService was never initialized, i.e. the connector package service feature was not enabled in the engine configuration. Callers asking for the connector package service on a cluster where the user did not configure it cannot be served.

Source

Thrown at seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/CoordinatorService.java:2282

        long rejectionCount =
                ((ThreadPoolStatus.RejectionCountingHandler)
                                threadPoolExecutor.getRejectedExecutionHandler())
                        .getRejectionCount();
        long queueTaskSize = threadPoolExecutor.getQueue().size();
        return new ThreadPoolStatus(
                threadPoolExecutor.getActiveCount(),
                threadPoolExecutor.getCorePoolSize(),
                threadPoolExecutor.getMaximumPoolSize(),
                threadPoolExecutor.getPoolSize(),
                threadPoolExecutor.getCompletedTaskCount(),
                threadPoolExecutor.getTaskCount(),
                queueTaskSize,
                rejectionCount);
    }

    public ConnectorPackageService getConnectorPackageService() {
        if (connectorPackageService == null) {
            throw new SeaTunnelEngineException(
                    "The user is not configured to enable connector package service, can not get connector package service service from master node.");
        }
        return connectorPackageService;
    }

    public PendingJobsResponse getPendingJobs(Map<String, String> tags, Long jobId, int limit) {
        Collection<PendingJobInfo> allPendingJobs =
                new ArrayList<>(pendingJobQueue.getJobIdMap().values());

        List<PendingJobInfo> selectedJobs = new ArrayList<>();
        if (jobId != null) {
            PendingJobInfo pendingJobInfo = pendingJobQueue.getById(jobId);
            if (pendingJobInfo != null) {
                selectedJobs.add(pendingJobInfo);
            }
        } else {
            selectedJobs.addAll(allPendingJobs);
            selectedJobs.sort(Comparator.comparingLong(PendingJobInfo::getEnqueueTimestamp));

View on GitHub (pinned to cf67b549a7)

Solutions

  1. Enable the connector package service in seatunnel.yaml on the master node (configure the connector package service settings) and restart the cluster.
  2. If you don't use connector package upload/download, stop calling this API and rely on the plugins directory / install-plugin.sh for connector jars.
  3. Guard callers with a config check (is the service configured?) before invoking connector package operations.

Example fix

// before: call upload unconditionally
connectorPackageService = coordinatorService.getConnectorPackageService();
// after: check configuration first
if (engineConfig.isConnectorPackageServiceEnabled()) {
    connectorPackageService = coordinatorService.getConnectorPackageService();
} else {
    throw new IllegalStateException("Connector package service is not enabled in seatunnel.yaml");
}
Defensive patterns

Strategy: validation

Validate before calling

// seatunnel.yaml must contain the connector package service config before starting:
// seatunnel:
//   connector-package-service: ...
boolean enabled = seatunnelConfig.contains("connector-package-service");
if (!enabled) throw new IllegalStateException("Enable connector package service in seatunnel.yaml first");

Type guard

ConnectorPackageService svc = coordinatorService.isConnectorPackageServiceConfigured()
    ? coordinatorService.getConnectorPackageService() : null;
if (svc == null) { /* skip package upload/download */ }

Try / catch

try {
    return coordinatorService.getConnectorPackageService();
} catch (SeaTunnelEngineException e) {
    throw new IllegalStateException("Connector package service disabled; enable it in seatunnel.yaml", e);
}

Prevention

When it happens

Trigger: Calling getConnectorPackageService (directly or via operations that fetch/upload connector packages, e.g. REST connector endpoints or console upload) on a cluster started without the connector package service enabled in seatunnel.yaml.

Common situations: Using SeaTunnel Web / dashboard connector upload against a Zeta cluster whose seatunnel.yaml lacks the connector-package-service section; copying a client built for a feature-enabled cluster to a plain cluster.

Related errors


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