apache / arrow-adbc

Database connectivity API standard and libraries for Apache Arrow
https://arrow.apache.org/adbc/
Apache License 2.0
385 stars 98 forks source link

chore(java): bump arrow to 18.0.0 #2293

Closed laurentgo closed 2 weeks ago

laurentgo commented 3 weeks ago

Update arrow dependency from 15.0.0 to 18.0.0.

As Apache Arrow now requires Java 11, Apache Arrow ADBC also now requires Java 11.

Update Apache Parent pom to version 33 and take advantage of Java 9+ support.

Clean up pom.xml files to remove duplicate or conflicting plugin version definition and/or configuration

Update FlightSQL tests to use the FlightSQL Junit 5 extension.

Update build and dev scripts, and documentation

lidavidm commented 3 weeks ago

Thanks! I'll review when I get back next week

lidavidm commented 3 weeks ago

Note that it appears Java verification fails

laurentgo commented 3 weeks ago

I do see multiple errors in C++ code with the following message though:

In file included from /adbc/c/driver/framework/utility.cc:24:
/adbc/c/vendor/nanoarrow/nanoarrow.hpp:95:35: error: identifier '_asv' preceded by whitespace in a literal operator declaration is deprecated [-Werror,-Wdeprecated-literal-operator]
   95 | inline ArrowStringView operator"" _asv(const char* data, std::size_t size_bytes) {
      |                        ~~~~~~~~~~~^~~~
      |                        operator""_asv
In file included from /adbc/c/driver/framework/objects.cc:22:
/adbc/c/vendor/nanoarrow/nanoarrow.hpp:95:35: error: identifier '_asv' preceded by whitespace in a literal operator declaration is deprecated [-Werror,-Wdeprecated-literal-operator]
   95 | inline ArrowStringView operator"" _asv(const char* data, std::size_t size_bytes) {
      |                        ~~~~~~~~~~~^~~~
      |                        operator""_asv
1 error generated.

and also

/Users/runner/work/arrow-adbc/arrow-adbc/c/driver/flightsql/sqlite_flightsql_test.cc:124:15: error: 'catalog' overrides a member function but is not marked 'override' [-Werror,-Winconsistent-missing-override]
  124 |   std::string catalog() const { return "main"; }
      |               ^
/Users/runner/work/arrow-adbc/arrow-adbc/c/validation/adbc_validation.h:248:23: note: overridden virtual function is here
  248 |   virtual std::string catalog() const { return ""; }
      |                       ^
1 error generated.

it may be caused by my change but the cause is unclear to me as why. I'll try to rebase my change in case

There's also one maven-assembly-plugin error probably caused by the apache parent update (will debug and fix)

lidavidm commented 3 weeks ago

The C++ errors aren't related, there are separate fixes for those

lidavidm commented 3 weeks ago

I would like to do a release soon so I may take the liberty of upgrading Arrow separately (without the parent POM change) in the meantime. Thanks for the help!

laurentgo commented 2 weeks ago

The maven change are a small part of the changes for arrow 18.0. Just pushed a rebased version

lidavidm commented 2 weeks ago

I think if you rebase, the CI errors should mostly go away!

laurentgo commented 2 weeks ago

Pushed new rebase