apache/seatunnel · error
Skip post-sync staging because split version cannot be…
Error message
Skip post-sync staging because split version cannot be resolved: splitId={}, source={} What it means
Logged when post-sync staging cannot proceed because the split's version cannot be parsed from the split id/file name (malformed legacy naming), so the sync skips post-sync actions for that split rather than failing — recorded with the splitId and source for diagnosis.
Solutions
- Inspect the splitId/file naming that failed version resolution
- Migrate legacy-named files or splits to the current naming scheme
- Check logs for prior rename failures that produced unparseable names
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at seatunnel-connectors-v2/connector-file/connector-file-base/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/source/split/ContinuousMultipleTableFileSourceSplitEnumerator.java:1293 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of apache/seatunnel@cf67b549a7 (2026-09-10).
Data as JSON: /api/errors/b0a950f9c2d73e7d.
Report an issue: GitHub.
Appendix: source
Thrown at seatunnel-connectors-v2/connector-file/connector-file-base/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/source/split/ContinuousMultipleTableFileSourceSplitEnumerator.java:1293
return Long.parseLong(matcher.group(3));
} catch (NumberFormatException ignored) {
// Fall through to filesystem mtime for malformed legacy file names.
}
}
return status.getModificationTime();
}
private FileSourceOperationState buildOperationStateFromFinishedSplit(
TableScanContext tableScanContext,
InFlightSplitContext inFlightSplitContext,
String sourceContentFingerprint) {
FileSourceSplit split = inFlightSplitContext.split;
SplitVersion splitVersion = inFlightSplitContext.splitVersion;
if (splitVersion == null) {
splitVersion = resolveSplitVersion(tableScanContext, split);
}
if (splitVersion == null) {
log.warn(
"Skip post-sync staging because split version cannot be resolved: splitId={}, source={}",
split.splitId(),
maskUriUserInfo(split.getFilePath()));
return null;
}
String backupTargetPath = null;
if (tableScanContext.postSyncAction == FilePostSyncAction.BACKUP) {
String relativePath =
resolveRelativePath(tableScanContext.rootPath, split.getFilePath());
long backupCreatedTimeMillis = System.currentTimeMillis();
String versionedRelativePath =
relativePath
+ ".v"
+ splitVersion.length
+ "_"
+ splitVersion.modificationTime
+ "_"View on GitHub (pinned to cf67b549a7)