Arrow Flight SQL JDBC 数据查询碰到Encountered end-of-stream mid-frame

为了更快的定位您的问题,请提供以下信息,谢谢
【详述】在springcloud中结合Arrow Flight SQL JDBC协议查询starrocks数据,报错Encountered end-of-stream mid-frame
【背景】我的技术框架是springboot3.5.6+mybatis plus 3.5.14, 按照官方教程使用Arrow Flight SQL JDBC查询starrocks数据
【业务影响】
【是否存算分离】
【StarRocks版本】starrocks 4.0
【集群规模】docker 环境1fe:1be
【机器信息】
【联系方式】rootwang2023@gmail.com,谢谢
【附件】

  • Initializing Spring DispatcherServlet ‘dispatcherServlet’
    Consume Time:127 ms 2026-03-20 10:26:15
    Execute SQL:SELECT * FROM tbl_ship_route WHERE 1=1 AND (ut BETWEEN ‘2025-12-12 05:09:46.0’ AND ‘2025-12-12 05:11:26.0’) AND uniqueId = ‘5408132_20251212050108’ ORDER BY mmsi asc LIMIT 0, 10

2026-03-20 10:26:15 [XNIO-1 task-2] ERROR c.s.c.w.h.GlobalExceptionHandler

  • 请求地址’/trace/list’,发生未知异常.
    org.apache.arrow.flight.FlightRuntimeException: Encountered end-of-stream mid-frame
    at org.apache.arrow.flight.CallStatus.toRuntimeException(CallStatus.java:121)
    at org.apache.arrow.flight.grpc.StatusUtils.fromGrpcRuntimeException(StatusUtils.java:161)
    at org.apache.arrow.flight.grpc.StatusUtils.fromThrowable(StatusUtils.java:182)
    at org.apache.arrow.flight.FlightStream$Observer.onError(FlightStream.java:489)
    at org.apache.arrow.flight.FlightClient$1.onError(FlightClient.java:361)
    at io.grpc.stub.ClientCalls$StreamObserverToCallListenerAdapter.onClose(ClientCalls.java:487)
    at io.grpc.PartialForwardingClientCallListener.onClose(PartialForwardingClientCallListener.java:39)
    at io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:23)
    at io.grpc.ForwardingClientCallListener$SimpleForwardingClientCallListener.onClose(ForwardingClientCallListener.java:40)
    at org.apache.arrow.flight.grpc.ClientInterceptorAdapter$FlightClientCallListener.onClose(ClientInterceptorAdapter.java:118)
    at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:567)
    at io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:71)
    at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInternal(ClientCallImpl.java:735)
    at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:716)
    at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
    at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    at java.base/java.lang.Thread.run(Thread.java:840)

这个极有可能是你客户端框架的问题,也可以看下be日志里面有没有中断提示.