apache/seatunnel · warning
versions prior to starrocks 3.3.2 do not support rename…
Error message
versions prior to starrocks 3.3.2 do not support rename column operations
What it means
When applying an AlterTableRenameColumnEvent, SchemaUtils checks whether the connected StarRocks server version supports RENAME COLUMN (added in StarRocks 3.3.2). On older versions it only logs this warning and does nothing — the rename is silently not applied, so the StarRocks schema will diverge from the source schema.
Solutions
- Upgrade the StarRocks cluster to 3.3.2 or later so RENAME COLUMN DDL is supported.
- As a workaround, apply the rename as an equivalent ADD COLUMN + data backfill + DROP COLUMN manually on the cluster.
- If renames are not needed, filter out AlterTableRenameColumnEvent from the schema-change pipeline on old clusters.
Example fix
// before: silently skipped on old StarRocks
log.warn("versions prior to starrocks 3.3.2 do not support rename column operations");
// after: manual equivalent executed
statement.execute("ALTER TABLE " + tablePath.getFullName() + " ADD COLUMN new_col <type>");
// backfill data, then:
statement.execute("ALTER TABLE " + tablePath.getFullName() + " DROP COLUMN old_col"); Defensive patterns
Strategy: fallback
Validate before calling
// before enabling rename events, check server version
ResultSet rs = connection.createStatement().executeQuery("SELECT @@version");
rs.next();
boolean supportsRename = compareVersion(rs.getString(1), "3.3.2") >= 0; Prevention
- Verify StarRocks >= 3.3.2 before routing rename events to the connector
- Avoid RENAME COLUMN in upstream migrations on older clusters
- Prefer add+backfill+drop as portable rename equivalent
When it happens
Trigger: applySchemaChange(connection, tablePath, AlterTableRenameColumnEvent) is invoked against a StarRocks instance whose version is below 3.3.2 (version comparison in the rename branch fails and the else branch logs the warning).
Common situations: Syncing CDC schema changes from MySQL/other sources into an older StarRocks cluster (e.g. 2.5.x or 3.2.x); upgrading the pipeline before upgrading the database; assuming rename support that the deployed StarRocks version lacks.
Related errors
- Column already exists in table . Skipping add column…
- Column already exists in table . Skipping change column…
- Column does not exist in table . Skipping drop column…
- Failed connecting to
- Unsupported schemaChangeEvent : " + event.getEventType()
AI-assisted analysis of apache/seatunnel@cf67b549a7 (2026-09-10).
Data as JSON: /api/errors/bf4781d9d418bb70.
Report an issue: GitHub.
Appendix: source
Thrown at seatunnel-connectors-v2/connector-starrocks/src/main/java/org/apache/seatunnel/connectors/seatunnel/starrocks/util/SchemaUtils.java:173
.append("COMMENT ")
.append("'")
.append(event.getColumn().getComment())
.append("'");
}
if (event.getAfterColumn() != null) {
sqlBuilder
.append(" ")
.append("AFTER ")
.append(quoteIdentifier(event.getAfterColumn()));
}
String changeColumnSQL = sqlBuilder.toString();
try (Statement statement = connection.createStatement()) {
log.info("Executing change column SQL: " + changeColumnSQL);
statement.execute(changeColumnSQL);
}
} else {
log.warn("versions prior to starrocks 3.3.2 do not support rename column operations");
}
}
public static void applySchemaChange(
Connection connection, TablePath tablePath, AlterTableModifyColumnEvent event)
throws SQLException {
BasicTypeDefine<StarRocksType> typeDefine =
StarRocksTypeConverter.INSTANCE.reconvert(event.getColumn());
StringBuilder sqlBuilder =
new StringBuilder()
.append("ALTER TABLE")
.append(" ")
.append(tablePath.getFullName())
.append(" ")
.append("MODIFY COLUMN")
.append(" ")
.append(quoteIdentifier(event.getColumn().getName()))
.append(" ")View on GitHub (pinned to cf67b549a7)