It's just a bug. I've filed https://github.com/apache/arrow/issues/34284
On Tue, Feb 21, 2023, at 12:05, Derek Wang wrote: > Dear Sir/Madam, > > I noticed that when I use ArrowFlightJdbcDriver to run a prepare statement > query. It sends prepare query twice to the backend flight server. > > The first query is triggered in ArrowFlightMetaImpl#prepare method: link: > https://github.com/apache/arrow/blob/45918a90a6ca1cf3fd67c256a7d6a240249e555a/java/flight/flight-sql-jdbc-driver/src/main/java/org/apache/arrow/driver/jdbc/ArrowFlightMetaImpl.java#L134 > > > The second query is triggered in ArrowFlightJdbcFactory#newPreparedStatement: > link > https://github.com/apache/arrow/blob/45918a90a6ca1cf3fd67c256a7d6a240249e555a/java/flight/flight-sql-jdbc-driver/src/main/java/org/apache/arrow/driver/jdbc/ArrowFlightJdbcFactory.java#L84 > > Could you shed some light on this? Why it's called twice? Does backend flight > server need skip the second duplicate query in such case?
