Hi everyone. Can the StarRocks Kafka connector be ...
# questions-and-troubleshooting
r
Hi everyone. Can the StarRocks Kafka connector be used to stream data to non-native StarRocks tables? (e.g, Iceberg tables from external Iceberg catalog)?
Seems like it is not supported. After setting up the connector, it failed a few seconds later. Saw this error in Kafka Connect logs:
Copy code
2025-11-18 14:44:30,555 ERROR  || [starrocks-v4-test-sink-01|task-0] Failed to flush data for db: iceberg.test, table: events after 0 times retry, the last exception is  [com.starrocks.data.load.stream.v2.TransactionTableRegion]
com.starrocks.data.load.stream.exception.StreamLoadFailException: Transaction start failed, db: iceberg.test, table: events, label: -7e1aef67-e889-4855-a865-73d2c86fce25, responseBody: {
  "Status": "FAILED",
  "Message": "class com.starrocks.common.StarRocksException: Database[iceberg.test] does not exist."
}
        at com.starrocks.data.load.stream.TransactionStreamLoader.doBegin(TransactionStreamLoader.java:177)
        at com.starrocks.data.load.stream.TransactionStreamLoader.begin(TransactionStreamLoader.java:119)
        at com.starrocks.data.load.stream.DefaultStreamLoader.send(DefaultStreamLoader.java:174)
        at com.starrocks.data.load.stream.v2.TransactionTableRegion.streamLoad(TransactionTableRegion.java:411)
        at com.starrocks.data.load.stream.v2.TransactionTableRegion.flush(TransactionTableRegion.java:271)
        at com.starrocks.data.load.stream.v2.StreamLoadManagerV2.lambda$init$0(StreamLoadManagerV2.java:231)
        at java.lang.Thread.run(Thread.java:750)
I also tried to stream data using a routine load job, but the job creation failed with this error:
Copy code
[3F000][5501] Unknown database 'test'
I wonder if there is a plan to support this in the future, or we should stick with existing Iceberg streaming frameworks
m
My understanding is that we only support SQL Insert and Insert Overwrite to Iceberg currently. Also, I tested recently and INSERT INTO iceberg.table SELECT from FILES() also works. I think our next plan is to support PIPE but for streaming ingestion I'm not aware of any plans. Maybe @Simo Wang knows.
👍 2