You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "James Henderson (Jira)" <ji...@apache.org> on 2022/11/09 10:52:00 UTC

[jira] [Updated] (ARROW-18294) [Java][FlightRPC] 'Signature not found' calling `executeUpdate` on FlightSQL prepared statement

     [ https://issues.apache.org/jira/browse/ARROW-18294?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

James Henderson updated ARROW-18294:
------------------------------------
    Description: 
Hey folks :)

I'm hitting the 'signature not found' NPE precondition in ArrowFlightMetaImpl.execute when I prepare a DML statement and call `executeUpdate` (the prepare step seems to work fine):


{{        Preconditions.java:  801  cfjd.org.apache.arrow.util.Preconditions/checkNotNull
  ArrowFlightMetaImpl.java:   86  org.apache.arrow.driver.jdbc.ArrowFlightMetaImpl/execute
  ArrowFlightMetaImpl.java:   96  org.apache.arrow.driver.jdbc.ArrowFlightMetaImpl/execute
    AvaticaConnection.java:  548  cfjd.org.apache.calcite.avatica.AvaticaConnection/executeQueryInternal
AvaticaPreparedStatement.java:  152  cfjd.org.apache.calcite.avatica.AvaticaPreparedStatement/executeLargeUpdate
AvaticaPreparedStatement.java:  147  cfjd.org.apache.calcite.avatica.AvaticaPreparedStatement/executeUpdate}}


It seems that this will always be null in this situation because AvaticaPreparedStatement.executeLargeUpdate calls executeQueryInternal with a null signature, regardless of the signature in the prepared statement itself (which is non-null)?

Otherwise, enjoying playing with FlightSQL so far - thanks!

James

  was:
Hey folks :)

I'm hitting the 'signature not found' NPE precondition in ArrowFlightMetaImpl.execute when I prepare a DML statement and call `executeUpdate` (the prepare step seems to work fine):

```
        Preconditions.java:  801  cfjd.org.apache.arrow.util.Preconditions/checkNotNull
  ArrowFlightMetaImpl.java:   86  org.apache.arrow.driver.jdbc.ArrowFlightMetaImpl/execute
  ArrowFlightMetaImpl.java:   96  org.apache.arrow.driver.jdbc.ArrowFlightMetaImpl/execute
    AvaticaConnection.java:  548  cfjd.org.apache.calcite.avatica.AvaticaConnection/executeQueryInternal
AvaticaPreparedStatement.java:  152  cfjd.org.apache.calcite.avatica.AvaticaPreparedStatement/executeLargeUpdate
AvaticaPreparedStatement.java:  147  cfjd.org.apache.calcite.avatica.AvaticaPreparedStatement/executeUpdate
```

It seems that this will always be null in this situation because AvaticaPreparedStatement.executeLargeUpdate calls executeQueryInternal with a null signature, regardless of the signature in the prepared statement itself (which is non-null)?

Otherwise, enjoying playing with FlightSQL so far - thanks!

James


> [Java][FlightRPC] 'Signature not found' calling `executeUpdate` on FlightSQL prepared statement
> -----------------------------------------------------------------------------------------------
>
>                 Key: ARROW-18294
>                 URL: https://issues.apache.org/jira/browse/ARROW-18294
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: FlightRPC, Java
>    Affects Versions: 10.0.0
>            Reporter: James Henderson
>            Priority: Major
>
> Hey folks :)
> I'm hitting the 'signature not found' NPE precondition in ArrowFlightMetaImpl.execute when I prepare a DML statement and call `executeUpdate` (the prepare step seems to work fine):
> {{        Preconditions.java:  801  cfjd.org.apache.arrow.util.Preconditions/checkNotNull
>   ArrowFlightMetaImpl.java:   86  org.apache.arrow.driver.jdbc.ArrowFlightMetaImpl/execute
>   ArrowFlightMetaImpl.java:   96  org.apache.arrow.driver.jdbc.ArrowFlightMetaImpl/execute
>     AvaticaConnection.java:  548  cfjd.org.apache.calcite.avatica.AvaticaConnection/executeQueryInternal
> AvaticaPreparedStatement.java:  152  cfjd.org.apache.calcite.avatica.AvaticaPreparedStatement/executeLargeUpdate
> AvaticaPreparedStatement.java:  147  cfjd.org.apache.calcite.avatica.AvaticaPreparedStatement/executeUpdate}}
> It seems that this will always be null in this situation because AvaticaPreparedStatement.executeLargeUpdate calls executeQueryInternal with a null signature, regardless of the signature in the prepared statement itself (which is non-null)?
> Otherwise, enjoying playing with FlightSQL so far - thanks!
> James



--
This message was sent by Atlassian Jira
(v8.20.10#820010)