apache/seatunnel · error · RuntimeException
not implemented
Error message
not implemented
What it means
MilvusCatalog.getTable(TablePath) is stubbed: it unconditionally throws RuntimeException('not implemented'). Milvus is a vector database without a relational table schema exposed through this catalog, so reading back a CatalogTable is unsupported in this implementation.
Source
Thrown at seatunnel-connectors-v2/connector-milvus/src/main/java/org/apache/seatunnel/connectors/seatunnel/milvus/catalog/MilvusCatalog.java:185
R<Boolean> response =
this.client.hasCollection(
HasCollectionParam.newBuilder()
.withDatabaseName(tablePath.getDatabaseName())
.withCollectionName(tablePath.getTableName())
.build());
if (response.getData() != null) {
return response.getData();
}
throw new MilvusConnectorException(
MilvusConnectionErrorCode.SERVER_RESPONSE_FAILED,
response.getMessage(),
response.getException());
}
@Override
public CatalogTable getTable(TablePath tablePath)
throws CatalogException, TableNotExistException {
throw new RuntimeException("not implemented");
}
@Override
public void createTable(TablePath tablePath, CatalogTable catalogTable, boolean ignoreIfExists)
throws TableAlreadyExistException, DatabaseNotExistException, CatalogException {
checkNotNull(tablePath, "Table path cannot be null");
if (!databaseExists(tablePath.getDatabaseName())) {
throw new DatabaseNotExistException(catalogName, tablePath.getDatabaseName());
}
if (tableExists(tablePath)) {
if (ignoreIfExists) {
return;
}
throw new TableAlreadyExistException(catalogName, tablePath);
}
checkNotNull(catalogTable, "catalogTable must not be null");
TableSchema tableSchema = catalogTable.getTableSchema();View on GitHub (pinned to cf67b549a7)
Solutions
- Avoid getTable against Milvus; define schemas explicitly in the job config or via createTable.
- Use Milvus SDK describe-collection calls directly if schema introspection is required.
- Contribute an implementation of getTable (describing the Milvus collection and mapping fields to CatalogTable) if needed.
- Check for alternate APIs (e.g. listTables/exists checks) that the Milvus catalog does implement.
Example fix
null
Defensive patterns
Strategy: try-catch
Validate before calling
// avoid the call entirely; if you must probe: boolean tableExists = milvusCatalog.isExistsDataCollection(tablePath); // use implemented APIs only
Try / catch
try {
CatalogTable t = milvusCatalog.getTable(tablePath);
} catch (RuntimeException e) {
if ("not implemented".equals(e.getMessage())) {
// fall back to explicit schema from job config
} else { throw e; }
} Prevention
- Never rely on getTable for Milvus catalogs; define schemas in the job config
- Check which Catalog methods the Milvus implementation supports before building generic tooling
When it happens
Trigger: Any call to getTable on a MilvusCatalog instance — e.g. framework code doing table existence/schema checks, schema evolution pipelines, or tools that resolve existing table metadata before writing.
Common situations: Users or automated jobs attempting to read schema from Milvus via the catalog API; pipeline generators that call getTable to diff schemas; code paths assuming every catalog implements getTable.
Related errors
- Failed to open catalog %s
- Unsupported action type:
- CREATE_INDEX_ERROR
- DATABASE_NO_COLLECTIONS
- DESC_COLLECTION_ERROR
AI-assisted analysis of apache/seatunnel@cf67b549a7 (2026-09-10).
Data as JSON: /api/errors/0cc1db95bee0089b.
Report an issue: GitHub.