rafael-telles commented on pull request #12021:
URL: https://github.com/apache/arrow/pull/12021#issuecomment-999753675
@lidavidm , trying to understand what is happening here yet.
Found this in the logs:
```
java.sql.SQLException: At least one parameter to the current statement is
uninitialized.
at
org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown
Source)
at
org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown
Source)
at
org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown
Source)
at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown
Source)
at
org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown
Source)
at
org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeQuery(Unknown Source)
at
org.apache.commons.dbcp2.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:122)
at
org.apache.commons.dbcp2.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:122)
at
org.apache.arrow.flight.sql.example.FlightSqlExample.getStreamPreparedStatement(FlightSqlExample.java:546)
at
org.apache.arrow.flight.sql.FlightSqlProducer.getStream(FlightSqlProducer.java:193)
at
org.apache.arrow.flight.FlightService.doGetCustom(FlightService.java:111)
at
org.apache.arrow.flight.FlightBindingService$DoGetMethod.invoke(FlightBindingService.java:144)
at
org.apache.arrow.flight.FlightBindingService$DoGetMethod.invoke(FlightBindingService.java:134)
at
io.grpc.stub.ServerCalls$UnaryServerCallHandler$UnaryServerCallListener.onHalfClose(ServerCalls.java:182)
at
io.grpc.PartialForwardingServerCallListener.onHalfClose(PartialForwardingServerCallListener.java:35)
at
io.grpc.ForwardingServerCallListener.onHalfClose(ForwardingServerCallListener.java:23)
at
io.grpc.ForwardingServerCallListener$SimpleForwardingServerCallListener.onHalfClose(ForwardingServerCallListener.java:40)
at
io.grpc.Contexts$ContextualizedServerCallListener.onHalfClose(Contexts.java:86)
at
io.grpc.PartialForwardingServerCallListener.onHalfClose(PartialForwardingServerCallListener.java:35)
at
io.grpc.ForwardingServerCallListener.onHalfClose(ForwardingServerCallListener.java:23)
at
io.grpc.ForwardingServerCallListener$SimpleForwardingServerCallListener.onHalfClose(ForwardingServerCallListener.java:40)
at
io.grpc.Contexts$ContextualizedServerCallListener.onHalfClose(Contexts.java:86)
at
io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.halfClosed(ServerCallImpl.java:335)
at
io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1HalfClosed.runInContext(ServerImpl.java:866)
at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
at
io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133)
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:748)
```
This means that for some reason the parameters on a prepared statement are
not being bound.
I tried running the tests in a loop in case they were flaky but it didn't
fail.
Also tried running `archery docker run debian-java-jni` a few times but
didn't fail either.
Can we try applying this patch to see if anything pops up?
```diff
diff --git
a/java/flight/flight-sql/src/main/java/org/apache/arrow/flight/sql/FlightSqlClient.java
b/java/flight/flight-sql/src/main/java/org/apache/arrow/flight/sql/FlightSqlClient.java
index c1ff92a379..069d59edd4 100644
---
a/java/flight/flight-sql/src/main/java/org/apache/arrow/flight/sql/FlightSqlClient.java
+++
b/java/flight/flight-sql/src/main/java/org/apache/arrow/flight/sql/FlightSqlClient.java
@@ -543,6 +543,7 @@ public class FlightSqlClient implements AutoCloseable {
listener.putNext();
listener.completed();
+ listener.getResult();
}
return client.getInfo(descriptor, options);
diff --git
a/java/flight/flight-sql/src/test/java/org/apache/arrow/flight/sql/example/FlightSqlExample.java
b/java/flight/flight-sql/src/test/java/org/apache/arrow/flight/sql/example/FlightSqlExample.java
index 634343c236..90a2aaf100 100644
---
a/java/flight/flight-sql/src/test/java/org/apache/arrow/flight/sql/example/FlightSqlExample.java
+++
b/java/flight/flight-sql/src/test/java/org/apache/arrow/flight/sql/example/FlightSqlExample.java
@@ -1270,7 +1270,10 @@ public class FlightSqlExample implements
FlightSqlProducer, AutoCloseable {
}
} catch (SQLException e) {
- ackStream.onError(e);
+ ackStream.onError(CallStatus.INTERNAL
+ .withDescription("Failed to bind parameters: " + e.getMessage())
+ .withCause(e)
+ .toRuntimeException());
return;
}
ackStream.onCompleted();
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]