Hi Alex

I agree with Docker changes, it sounds good to me.
Removing the root Dockerfile in favor of the "Quarkus" approach is way
better imho.

Regarding EclipseLink and drivers, it makes sense to start with
PostgreSQL and H2. Depending on how we move forward regarding
EclipseLink (if we keep it or not), we can add additional drivers (if
they are ASF compliant as you said).

The binary distribution looks good to me (as said in another email,
assuming we have clean LICENSE/NOTICE for this distribution).

Thanks !
Regards
JB


On Tue, Jan 14, 2025 at 3:18 PM Alex Dutra
<alex.du...@dremio.com.invalid> wrote:
>
> Hi all,
>
> As mentioned already in another email earlier today, we still have a few
> PRs to merge to fully achieve the transition to Quarkus.
>
> The first one is the Docker PR: https://github.com/apache/polaris/pull/610
>
> Since it's an important topic, I would like to summarize the most important
> changes here:
>
> 1) The Dockerfile at the root of the repo has gone. It's not needed
> anymore, and has security flaws – see
> https://github.com/apache/polaris/issues/537 for details). If users want to
> build a local image for adhoc testing, this can now be done by simply
> building Polaris with:
>
>   ./gradlew assemble -Dquarkus.container-image.build=true
>
> 2) The docker-compose file for regression tests has been moved to the
> regtests folder. Regression tests can be run with:
>
>   ./gradlew assemble -Dquarkus.container-image.build=true
>    docker compose -f regtests/docker-compose.yml up --build
> --exit-code-from regtest
>
> 3) Eclipse Link and JDBC drivers
>
> This is perhaps the most important change. With Quarkus, it's impossible to
> add jars at runtime. Therefore, Polaris server artifacts *must* be built
> with all the required dependencies.
>
> From now on, the polaris-eclipse-link module includes 2 JDBC drivers: H2
> and Postgres.
>
> Also from now on, the polaris-quarkus-server artifacts (distribution
> tarballs, zips and the Docker images) will contain the 2 drivers.
>
> From the legal perspective, both drivers are compatible with ASF guidelines
> and the license and notice files were updated accordingly.
>
> I would argue that this change greatly simplifies the statu quo by not
> requiring users to include their own JDBC jars anymore, and make Polaris
> with EclipseLink "just work". There is also no more need to modify the
> Dockerfiles to include EclipseLink dependencies via build args.
>
> We can add more JDBC drivers in the future if we want, for example, the
> MariaDB JDBC driver is compatible with ASF and connects to both MySQL and
> MariaDB databases.
>
> 4) Future binary releases
>
> With this PR, the distribution tarballs and zips generated for
> polaris-quarkus-server are valid ones. You can generate the distribution
> artifacts with:
>
>    ./gradlew clean build
>
> You can unpack and run the distribution zip with the following commands:
>
>   cd quarkus/server/build/distributions
>   unzip polaris-quarkus-server-1.0.0-incubating-SNAPSHOT.zip
>   cd polaris-quarkus-server-1.0.0-incubating-SNAPSHOT
>   java -jar quarkus-run.jar
>
> However, this PR intentionally leaves the question of Docker image releases
> for a follow-up discussion, mainly because we still need to figure out our
> strategy wrt which registries we want to push to, and which platforms we
> want to support.
>
> --
>
> I am eager to get the community's feedback on this, either in this email
> thread or in the PR directly.
>
> Thanks,
>
> Alex

Reply via email to