StreamLoad事务接口

【详述】StreamLoad事务接口请问有Java代码示例吗?按照文档去调用接口出现各种各样的bug
【背景】
【业务影响】
【StarRocks版本】2.4.1 cc3c302
【集群规模】例如:3fe(1 follower+2observer)+5be(fe与be混部)
【机器信息】CPU虚拟核/内存/网卡,例如:48C/64G/万兆
【附件】

  • fe.log/beINFO/相应截图
  • 慢查询:
    • Profile信息
    • 并行度:show variables like ‘%parallel_fragment_exec_instance_num%’;
    • pipeline是否开启:show variables like ‘%pipeline%’;
    • be节点cpu和内存使用率截图
  • 查询报错:
  • be crash
    • be.out

StreamLoad有较为详细的案例吗?同一个label开启事务后load数据就显示transaction with label xxx not exists

开启事务接口返回:
{
“Status”: “OK”,
“Message”: “”,
“Label”: “trans-2efca5b5aae2466c9801fcff086fb231”,
“TxnId”: 4590875,
“BeginTxnTimeMs”: 0
}
加载数据返回:
{Status=TXN_NOT_EXISTS, Message=Transaction with label trans-2efca5b5aae2466c9801fcff086fb231 not exists}
预提交返回:
{
“Status”: “TXN_NOT_EXISTS”,
“Message”: “transaction with label trans-2efca5b5aae2466c9801fcff086fb231 not exists”
}
事务提交返回:
{
“Status”: “INTERNAL_ERROR”,
“Message”: “transaction id=bf4019eca6582c69-e5462841ce89c788, job_id=-1, txn_id: 4590875, label=trans-2efca5b5aae2466c9801fcff086fb231, db=test hasn’t send any data yet”
}

请问下问题解决了吗?

测试解决了,你们文档写的不详细。。需要同一个BE的url才行

1赞

可以直接提下文档issue或者pr

测试是同一个BE的才可以,但是看你们的starrocks-flink-connector源码中关于事务接口调用是随机的url接口,参考starrocks-flink-connector:com.starrocks.data.load.stream.TransactionStreamLoader中prepare/doBegin/commit/rollback中获取host都是随机获取的,所以不清楚你们事务的具体限制是否需要同一个BE的url

可以直接访问FE,会自动路由到相应的BE,如果访问BE只能手动选择相同的BE

访问FE接口直接报错


测试服务节点是可以连通的

端口错了,提交任务使用的http_port,默认是8030

1赞

好的,我更换下端口试试

确实是