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
- Enable the connector package service in seatunnel.yaml on the master node (configure the connector package service settings) and restart the cluster.
- 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.
- 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
- Enable the connector package service in seatunnel.yaml on the master node when using dashboard/upload features
- Feature-check in client/UI code before invoking connector package APIs
- Restart the whole cluster (not just the master) after enabling the config so all nodes share it
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
- Job %s not found
- Job %s not running (restore in progress)
- Job %s not running
- This is not a master node now.
- Can not get coordinator service from an active master node.
AI-assisted analysis of apache/seatunnel@cf67b549a7 (2026-09-10).
Data as JSON: /api/errors/545f7540c70cd750.
Report an issue: GitHub.