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: github-unsubscr...@arrow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to