apache / apache/kyuubi

[Bug] TRINO Error operating EXECUTE_STATEMENT, broken pipe(Write failed)

Open
#4,930 5 comments 0 reactions 0 assignees View on GitHub
kind:bug priority:major
Dominant language
Scala
Stars
2.4k
Forks
1k
PR merge metrics
No merged PRs in 30d

Description

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct)

### Search before asking

- [X] I have searched in the [issues](https://github.com/apache/kyuubi/issues?q=is%3Aissue) and found no similar issues.

### Describe the bug

I am using kyuubi to connect to trino, but show tables will report an error only after using the use schema

### Affects Version(s)

1.7.0

### Kyuubi Server Log Output

```logtalk
2023-06-07 13:47:27.401 INFO org.apache.kyuubi.engine.ProcBuilder: Logging to /opt/kyuubi/work/admin/kyuubi-trino-engine.log.0

2023-06-07 13:47:28.811 INFO org.apache.zookeeper.server.NIOServerCnxnFactory: Accepted socket connection from /XXXXXXXXX:40580

2023-06-07 13:47:28.813 INFO org.apache.zookeeper.server.ZooKeeperServer: Client attempting to establish new session at /XXXXXXXXX:40580

2023-06-07 13:47:28.813 INFO org.apache.zookeeper.server.ZooKeeperServer: Established session 0x10240e15f740002 with negotiated timeout 60000 for client /XXXXXX:40580

2023-06-07 13:47:29.233 INFO org.apache.zookeeper.server.PrepRequestProcessor: Got user-level KeeperException when processing sessionid:0x10240e15f740002 type:create cxid:0x1 zxid:0x10 txntype:-1 reqpath:n/a Error Path:/kyuubi_1.7.0_USER_TRINO/admin Error:KeeperErrorCode = NoNode for /kyuubi_1.7.0_USER_TRINO/admin

2023-06-07 13:47:29.417 INFO org.apache.kyuubi.ha.client.zookeeper.ZookeeperDiscoveryClient: Get service instance:kyuubi-86c95975c7-nx59s:46789 and version:1.7.0 under /kyuubi_1.7.0_USER_TRINO/admin/default

2023-06-07 13:47:29.624 INFO org.apache.kyuubi.session.KyuubiSessionImpl: [admin:XXXXXX] SessionHandle [1a38d5b0-2f1d-486f-bca2-da78371d63cc] - Connected to engine [kyuubi-86c95975c7-nx59s:46789]/[] with SessionHandle [78a28437-ff95-45b8-979a-97732bc04faa]]

2023-06-07 13:47:29.625 INFO org.apache.curator.framework.imps.CuratorFrameworkImpl: backgroundOperationsLoop exiting

2023-06-07 13:47:29.650 INFO org.apache.zookeeper.server.PrepRequestProcessor: Processed session termination for sessionid: 0x10240e15f740001

2023-06-07 13:47:29.651 INFO org.apache.zookeeper.ZooKeeper: Session: 0x10240e15f740001 closed

2023-06-07 13:47:29.651 INFO org.apache.zookeeper.ClientCnxn: EventThread shut down for session: 0x10240e15f740001

2023-06-07 13:47:29.651 INFO org.apache.zookeeper.server.NIOServerCnxn: Closed socket connection for client /XXXX:40574 which had sessionid 0x10240e15f740001

2023-06-07 13:47:29.652 INFO org.apache.kyuubi.operation.LaunchEngine: Processing admin's query[ffca0373-e9fd-49bd-803a-8ced71814928]: RUNNING_STATE -> FINISHED_STATE, time taken: 2.333 seconds

2023-06-07 13:47:29.653 INFO org.apache.kyuubi.session.KyuubiSessionImpl: [admin:XXXX] SessionHandle [1a38d5b0-2f1d-486f-bca2-da78371d63cc] - Engine has been launched, elapsed time: 2 s

2023-06-07 13:47:32.826 INFO org.apache.kyuubi.operation.log.OperationLog: Creating operation log file /opt/kyuubi/work/server_operation_logs/1a38d5b0-2f1d-486f-bca2-da78371d63cc/61da0ccf-0583-4392-b95e-abbcf3216d39

2023-06-07 13:47:32.875 INFO org.apache.kyuubi.operation.ExecuteStatement: Processing admin's query[61da0ccf-0583-4392-b95e-abbcf3216d39]: PENDING_STATE -> RUNNING_STATE, statement:

use default

2023-06-07 13:47:32.952 INFO org.apache.kyuubi.operation.ExecuteStatement: Query[61da0ccf-0583-4392-b95e-abbcf3216d39] in FINISHED_STATE

2023-06-07 13:47:32.952 INFO org.apache.kyuubi.operation.ExecuteStatement: Processing admin's query[61da0ccf-0583-4392-b95e-abbcf3216d39]: RUNNING_STATE -> FINISHED_STATE, time taken: 0.077 seconds

2023-06-07 13:47:32.990 ERROR org.apache.kyuubi.server.KyuubiTBinaryFrontendService: Error getting result set metadata:

org.apache.thrift.transport.TTransportException: null

at org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:132) ~[libthrift-0.9.3.jar:0.9.3]

at org.apache.thrift.transport.TTransport.readAll(TTransport.java:86) ~[libthrift-0.9.3.jar:0.9.3]

at org.apache.thrift.transport.TSaslTransport.readLength(TSaslTransport.java:376) ~[libthrift-0.9.3.jar:0.9.3]

at org.apache.thrift.transport.TSaslTransport.readFrame(TSaslTransport.java:453) ~[libthrift-0.9.3.jar:0.9.3]

at org.apache.thrift.transport.TSaslTransport.read(TSaslTransport.java:435) ~[libthrift-0.9.3.jar:0.9.3]

at org.apache.thrift.transport.TSaslClientTransport.read(TSaslClientTransport.java:37) ~[libthrift-0.9.3.jar:0.9.3]

at org.apache.thrift.transport.TTransport.readAll(TTransport.java:86) ~[libthrift-0.9.3.jar:0.9.3]

at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:429) ~[libthrift-0.9.3.jar:0.9.3]

at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:318) ~[libthrift-0.9.3.jar:0.9.3]

at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:219) ~[libthrift-0.9.3.jar:0.9.3]

at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:77) ~[libthrift-0.9.3.jar:0.9.3]

at org.apache.hive.service.rpc.thrift.TCLIService$Client.recv_GetResultSetMetadata(TCLIService.java:544) ~[hive-service-rpc-3.1.3.jar:3.1.3]

at org.apache.hive.service.rpc.thrift.TCLIService$Client.GetResultSetMetadata(TCLIService.java:531) ~[hive-service-rpc-3.1.3.jar:3.1.3]

at org.apache.kyuubi.client.KyuubiSyncThriftClient.$anonfun$getResultSetMetadata$1(KyuubiSyncThriftClient.scala:395) ~[kyuubi-server_2.12-1.7.0.jar:1.7.0]

at org.apache.kyuubi.client.KyuubiSyncThriftClient.$anonfun$withLockAcquiredAsyncRequest$2(KyuubiSyncThriftClient.scala:142) ~[kyuubi-server_2.12-1.7.0.jar:1.7.0]

at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_362]

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[?:1.8.0_362]

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[?:1.8.0_362]

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_362]

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_362]

at java.lang.Thread.run(Thread.java:750) ~[?:1.8.0_362]

2023-06-07 13:47:33.070 WARN org.apache.kyuubi.operation.ExecuteStatement: Error closing THandleIdentifier(guid:0D 3C B8 2B FC DD 49 FA 9A 50 BB 8D 10 78 00 06, secret:C2 EE 5B 97 3E A0 41 FC AC 16 9B D7 08 ED 8F 38): null

org.apache.thrift.transport.TTransportException: null

at org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:132) ~[libthrift-0.9.3.jar:0.9.3]

at org.apache.thrift.transport.TTransport.readAll(TTransport.java:86) ~[libthrift-0.9.3.jar:0.9.3]

at org.apache.thrift.transport.TSaslTransport.readLength(TSaslTransport.java:376) ~[libthrift-0.9.3.jar:0.9.3]

at org.apache.thrift.transport.TSaslTransport.readFrame(TSaslTransport.java:453) ~[libthrift-0.9.3.jar:0.9.3]

at org.apache.thrift.transport.TSaslTransport.read(TSaslTransport.java:435) ~[libthrift-0.9.3.jar:0.9.3]

at org.apache.thrift.transport.TSaslClientTransport.read(TSaslClientTransport.java:37) ~[libthrift-0.9.3.jar:0.9.3]

at org.apache.thrift.transport.TTransport.readAll(TTransport.java:86) ~[libthrift-0.9.3.jar:0.9.3]

at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:429) ~[libthrift-0.9.3.jar:0.9.3]

at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:318) ~[libthrift-0.9.3.jar:0.9.3]

at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:219) ~[libthrift-0.9.3.jar:0.9.3]

at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:77) ~[libthrift-0.9.3.jar:0.9.3]

at org.apache.hive.service.rpc.thrift.TCLIService$Client.recv_CloseOperation(TCLIService.java:521) ~[hive-service-rpc-3.1.3.jar:3.1.3]

at org.apache.hive.service.rpc.thrift.TCLIService$Client.CloseOperation(TCLIService.java:508) ~[hive-service-rpc-3.1.3.jar:3.1.3]

at org.apache.kyuubi.client.KyuubiSyncThriftClient.$anonfun$closeOperation$1(KyuubiSyncThriftClient.scala:385) ~[kyuubi-server_2.12-1.7.0.jar:1.7.0]

at org.apache.kyuubi.client.KyuubiSyncThriftClient.$anonfun$withLockAcquiredAsyncRequest$2(KyuubiSyncThriftClient.scala:142) ~[kyuubi-server_2.12-1.7.0.jar:1.7.0]

at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_362]

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[?:1.8.0_362]

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[?:1.8.0_362]

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_362]

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_362]

at java.lang.Thread.run(Thread.java:750) ~[?:1.8.0_362]

2023-06-07 13:47:35.593 INFO org.apache.kyuubi.operation.log.OperationLog: Creating operation log file /opt/kyuubi/work/server_operation_logs/1a38d5b0-2f1d-486f-bca2-da78371d63cc/ba2509b3-28e8-4cd5-9c6d-e4ebb945de54

2023-06-07 13:47:35.599 INFO org.apache.kyuubi.operation.ExecuteStatement: Processing admin's query[ba2509b3-28e8-4cd5-9c6d-e4ebb945de54]: PENDING_STATE -> ERROR_STATE, time taken: 1.686116855599E9 seconds

2023-06-07 13:47:35.600 ERROR org.apache.kyuubi.server.KyuubiTBinaryFrontendService: Error executing statement:

org.apache.kyuubi.KyuubiSQLException: Error operating ExecuteStatement: org.apache.thrift.transport.TTransportException: java.net.SocketException: Broken pipe (Write failed)

at org.apache.thrift.transport.TIOStreamTransport.flush(TIOStreamTransport.java:161)

at org.apache.thrift.transport.TSaslTransport.flush(TSaslTransport.java:501)

at org.apache.thrift.transport.TSaslClientTransport.flush(TSaslClientTransport.java:37)

at org.apache.thrift.TServiceClient.sendBase(TServiceClient.java:73)

at org.apache.thrift.TServiceClient.sendBase(TServiceClient.java:62)

at org.apache.hive.service.rpc.thrift.TCLIService$Client.send_ExecuteStatement(TCLIService.java:239)

at org.apache.hive.service.rpc.thrift.TCLIService$Client.ExecuteStatement(TCLIService.java:231)

at org.apache.kyuubi.client.KyuubiSyncThriftClient.$anonfun$executeStatement$1(KyuubiSyncThriftClient.scala:241)

at org.apache.kyuubi.client.KyuubiSyncThriftClient.$anonfun$withLockAcquiredAsyncRequest$2(KyuubiSyncThriftClient.scala:142)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

at java.lang.Thread.run(Thread.java:750)

Caused by: java.net.SocketException: Broken pipe (Write failed)

at java.net.SocketOutputStream.socketWrite0(Native Method)

at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:111)

at java.net.SocketOutputStream.write(SocketOutputStream.java:155)

at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)

at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)

at org.apache.thrift.transport.TIOStreamTransport.flush(TIOStreamTransport.java:159)

... 14 more

at org.apache.kyuubi.KyuubiSQLException$.apply(KyuubiSQLException.scala:69) ~[kyuubi-common_2.12-1.7.0.jar:1.7.0]

at org.apache.kyuubi.operation.KyuubiOperation$$anonfun$onError$1.applyOrElse(KyuubiOperation.scala:76) ~[kyuubi-server_2.12-1.7.0.jar:1.7.0]

at org.apache.kyuubi.operation.KyuubiOperation$$anonfun$onError$1.applyOrElse(KyuubiOperation.scala:57) ~[kyuubi-server_2.12-1.7.0.jar:1.7.0]

at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38) ~[scala-library-2.12.17.jar:?]

at org.apache.kyuubi.operation.ExecuteStatement.executeStatement(ExecuteStatement.scala:68) ~[kyuubi-server_2.12-1.7.0.jar:1.7.0]

at org.apache.kyuubi.operation.ExecuteStatement.runInternal(ExecuteStatement.scala:159) ~[kyuubi-server_2.12-1.7.0.jar:1.7.0]

at org.apache.kyuubi.operation.AbstractOperation.run(AbstractOperation.scala:166) ~[kyuubi-common_2.12-1.7.0.jar:1.7.0]

at org.apache.kyuubi.session.AbstractSession.runOperation(AbstractSession.scala:101) ~[kyuubi-common_2.12-1.7.0.jar:1.7.0]

at org.apache.kyuubi.session.KyuubiSessionImpl.runOperation(KyuubiSessionImpl.scala:211) ~[kyuubi-server_2.12-1.7.0.jar:1.7.0]

at org.apache.kyuubi.session.AbstractSession.$anonfun$executeStatement$1(AbstractSession.scala:131) ~[kyuubi-common_2.12-1.7.0.jar:1.7.0]

at org.apache.kyuubi.session.AbstractSession.withAcquireRelease(AbstractSession.scala:82) ~[kyuubi-common_2.12-1.7.0.jar:1.7.0]

at org.apache.kyuubi.session.AbstractSession.executeStatement(AbstractSession.scala:128) ~[kyuubi-common_2.12-1.7.0.jar:1.7.0]

at org.apache.kyuubi.session.KyuubiSessionImpl.super$executeStatement(KyuubiSessionImpl.scala:285) ~[kyuubi-server_2.12-1.7.0.jar:1.7.0]

at org.apache.kyuubi.session.KyuubiSessionImpl.$anonfun$executeStatement$1(KyuubiSessionImpl.scala:285) ~[kyuubi-server_2.12-1.7.0.jar:1.7.0]

at org.apache.kyuubi.session.AbstractSession.withAcquireRelease(AbstractSession.scala:82) ~[kyuubi-common_2.12-1.7.0.jar:1.7.0]

at org.apache.kyuubi.session.KyuubiSessionImpl.executeStatement(KyuubiSessionImpl.scala:276) ~[kyuubi-server_2.12-1.7.0.jar:1.7.0]

at org.apache.kyuubi.service.AbstractBackendService.executeStatement(AbstractBackendService.scala:66) ~[kyuubi-common_2.12-1.7.0.jar:1.7.0]

at org.apache.kyuubi.server.KyuubiServer$$anon$1.org$apache$kyuubi$server$BackendServiceMetric$$super$executeStatement(KyuubiServer.scala:147) ~[kyuubi-server_2.12-1.7.0.jar:1.7.0]

at org.apache.kyuubi.server.BackendServiceMetric.$anonfun$executeStatement$1(BackendServiceMetric.scala:62) ~[kyuubi-server_2.12-1.7.0.jar:1.7.0]

at org.apache.kyuubi.metrics.MetricsSystem$.timerTracing(MetricsSystem.scala:111) ~[kyuubi-metrics_2.12-1.7.0.jar:1.7.0]

at org.apache.kyuubi.server.BackendServiceMetric.executeStatement(BackendServiceMetric.scala:62) ~[kyuubi-server_2.12-1.7.0.jar:1.7.0]

at org.apache.kyuubi.server.BackendServiceMetric.executeStatement$(BackendServiceMetric.scala:55) ~[kyuubi-server_2.12-1.7.0.jar:1.7.0]

at org.apache.kyuubi.server.KyuubiServer$$anon$1.executeStatement(KyuubiServer.scala:147) ~[kyuubi-server_2.12-1.7.0.jar:1.7.0]

at org.apache.kyuubi.service.TFrontendService.ExecuteStatement(TFrontendService.scala:252) ~[kyuubi-common_2.12-1.7.0.jar:1.7.0]

at org.apache.hive.service.rpc.thrift.TCLIService$Processor$ExecuteStatement.getResult(TCLIService.java:1557) ~[hive-service-rpc-3.1.3.jar:3.1.3]

at org.apache.hive.service.rpc.thrift.TCLIService$Processor$ExecuteStatement.getResult(TCLIService.java:1542) ~[hive-service-rpc-3.1.3.jar:3.1.3]

at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39) ~[libthrift-0.9.3.jar:0.9.3]

at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39) ~[libthrift-0.9.3.jar:0.9.3]

at org.apache.kyuubi.service.authentication.TSetIpAddressProcessor.process(TSetIpAddressProcessor.scala:36) ~[kyuubi-common_2.12-1.7.0.jar:1.7.0]

at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:286) ~[libthrift-0.9.3.jar:0.9.3]

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_362]

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_362]

at java.lang.Thread.run(Thread.java:750) ~[?:1.8.0_362]

Caused by: org.apache.thrift.transport.TTransportException: java.net.SocketException: Broken pipe (Write failed)

at org.apache.thrift.transport.TIOStreamTransport.flush(TIOStreamTransport.java:161) ~[libthrift-0.9.3.jar:0.9.3]

at org.apache.thrift.transport.TSaslTransport.flush(TSaslTransport.java:501) ~[libthrift-0.9.3.jar:0.9.3]

at org.apache.thrift.transport.TSaslClientTransport.flush(TSaslClientTransport.java:37) ~[libthrift-0.9.3.jar:0.9.3]

at org.apache.thrift.TServiceClient.sendBase(TServiceClient.java:73) ~[libthrift-0.9.3.jar:0.9.3]

at org.apache.thrift.TServiceClient.sendBase(TServiceClient.java:62) ~[libthrift-0.9.3.jar:0.9.3]

at org.apache.hive.service.rpc.thrift.TCLIService$Client.send_ExecuteStatement(TCLIService.java:239) ~[hive-service-rpc-3.1.3.jar:3.1.3]

at org.apache.hive.service.rpc.thrift.TCLIService$Client.ExecuteStatement(TCLIService.java:231) ~[hive-service-rpc-3.1.3.jar:3.1.3]

at org.apache.kyuubi.client.KyuubiSyncThriftClient.$anonfun$executeStatement$1(KyuubiSyncThriftClient.scala:241) ~[kyuubi-server_2.12-1.7.0.jar:1.7.0]

at org.apache.kyuubi.client.KyuubiSyncThriftClient.$anonfun$withLockAcquiredAsyncRequest$2(KyuubiSyncThriftClient.scala:142) ~[kyuubi-server_2.12-1.7.0.jar:1.7.0]

at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_362]

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[?:1.8.0_362]

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[?:1.8.0_362]

... 3 more

Caused by: java.net.SocketException: Broken pipe (Write failed)

at java.net.SocketOutputStream.socketWrite0(Native Method) ~[?:1.8.0_362]

at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:111) ~[?:1.8.0_362]

at java.net.SocketOutputStream.write(SocketOutputStream.java:155) ~[?:1.8.0_362]

at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) ~[?:1.8.0_362]

at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) ~[?:1.8.0_362]

at org.apache.thrift.transport.TIOStreamTransport.flush(TIOStreamTransport.java:159) ~[libthrift-0.9.3.jar:0.9.3]

at org.apache.thrift.transport.TSaslTransport.flush(TSaslTransport.java:501) ~[libthrift-0.9.3.jar:0.9.3]

at org.apache.thrift.transport.TSaslClientTransport.flush(TSaslClientTransport.java:37) ~[libthrift-0.9.3.jar:0.9.3]

at org.apache.thrift.TServiceClient.sendBase(TServiceClient.java:73) ~[libthrift-0.9.3.jar:0.9.3]

at org.apache.thrift.TServiceClient.sendBase(TServiceClient.java:62) ~[libthrift-0.9.3.jar:0.9.3]

at org.apache.hive.service.rpc.thrift.TCLIService$Client.send_ExecuteStatement(TCLIService.java:239) ~[hive-service-rpc-3.1.3.jar:3.1.3]

at org.apache.hive.service.rpc.thrift.TCLIService$Client.ExecuteStatement(TCLIService.java:231) ~[hive-service-rpc-3.1.3.jar:3.1.3]

at org.apache.kyuubi.client.KyuubiSyncThriftClient.$anonfun$executeStatement$1(KyuubiSyncThriftClient.scala:241) ~[kyuubi-server_2.12-1.7.0.jar:1.7.0]

at org.apache.kyuubi.client.KyuubiSyncThriftClient.$anonfun$withLockAcquiredAsyncRequest$2(KyuubiSyncThriftClient.scala:142) ~[kyuubi-server_2.12-1.7.0.jar:1.7.0]

at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_362]

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[?:1.8.0_362]

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[?:1.8.0_362]

... 3 more
```

### Kyuubi Engine Log Output

```logtalk
Connected to: Trino (version 418)
Driver: Hive JDBC (version 2.3.9)
Transaction isolation: TRANSACTION_REPEATABLE_READ
Beeline version 2.3.9 by Apache Hive
0: jdbc:hive2://XXXX:XXXX/s3test> use default;
2023-06-07 13:47:32.875 INFO org.apache.kyuubi.operation.ExecuteStatement: Processing admin's query[61da0ccf-0583-4392-b95e-abbcf3216d39]: PENDING_STATE -> RUNNING_STATE, statement:
use default
2023-06-07 13:47:32.870 INFO org.apache.kyuubi.engine.trino.operation.ExecuteStatement: Processing admin's query[0d3cb82b-fcdd-49fa-9a50-bb8d10780006]: PENDING_STATE -> RUNNING_STATE, statement:
use default
2023-06-07 13:47:32.894 INFO org.apache.kyuubi.engine.trino.TrinoStatement: Execute with Trino query id: 20230607_054732_00021_gvgri
2023-06-07 13:47:32.894 INFO org.apache.kyuubi.engine.trino.operation.ExecuteStatement: Execute in full collect mode
2023-06-07 13:47:32.899 INFO org.apache.kyuubi.engine.trino.operation.ExecuteStatement: Processing admin's query[0d3cb82b-fcdd-49fa-9a50-bb8d10780006]: RUNNING_STATE -> FINISHED_STATE, time taken: 0.028 seconds
2023-06-07 13:47:32.952 INFO org.apache.kyuubi.operation.ExecuteStatement: Query[61da0ccf-0583-4392-b95e-abbcf3216d39] in FINISHED_STATE
2023-06-07 13:47:32.952 INFO org.apache.kyuubi.operation.ExecuteStatement: Processing admin's query[61da0ccf-0583-4392-b95e-abbcf3216d39]: RUNNING_STATE -> FINISHED_STATE, time taken: 0.077 seconds
Unknown HS2 problem when communicating with Thrift server.
Error: (state=,code=0)
0: jdbc:hive2://XXXX:XXXX/s3test> show tables;
Error: Error operating ExecuteStatement: org.apache.thrift.transport.TTransportException: java.net.SocketException: Broken pipe (Write failed)
at org.apache.thrift.transport.TIOStreamTransport.flush(TIOStreamTransport.java:161)
at org.apache.thrift.transport.TSaslTransport.flush(TSaslTransport.java:501)
at org.apache.thrift.transport.TSaslClientTransport.flush(TSaslClientTransport.java:37)
at org.apache.thrift.TServiceClient.sendBase(TServiceClient.java:73)
at org.apache.thrift.TServiceClient.sendBase(TServiceClient.java:62)
at org.apache.hive.service.rpc.thrift.TCLIService$Client.send_ExecuteStatement(TCLIService.java:239)
at org.apache.hive.service.rpc.thrift.TCLIService$Client.ExecuteStatement(TCLIService.java:231)
at org.apache.kyuubi.client.KyuubiSyncThriftClient.$anonfun$executeStatement$1(KyuubiSyncThriftClient.scala:241)
at org.apache.kyuubi.client.KyuubiSyncThriftClient.$anonfun$withLockAcquiredAsyncRequest$2(KyuubiSyncThriftClient.scala:142)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:750)
Caused by: java.net.SocketException: Broken pipe (Write failed)
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:111)
at java.net.SocketOutputStream.write(SocketOutputStream.java:155)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
at org.apache.thrift.transport.TIOStreamTransport.flush(TIOStreamTransport.java:159)
... 14 more (state=,code=0)
```

### Kyuubi Server Configurations

_No response_

### Kyuubi Engine Configurations

_No response_

### Additional context

_No response_

### Are you willing to submit PR?

- [ ] Yes. I would be willing to submit a PR with guidance from the Kyuubi community to fix.
- [X] No. I cannot submit a PR at this time.

Contributor guide

Open the contributing guide

Research direction

Start with KyuubiSyncThriftClient.scala, especially executeStatement, getResultSetMetadata, and closeOperation, then trace the KyuubiTBinaryFrontendService errors shown in the log. Reproduce the sequence of `use default` followed by `show tables` against Trino and determine whether the broken pipe is avoided while statement metadata and cleanup complete successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
scala, sql
Domain
api, backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.