Hi Romain,

Thanks for making the Quarkus extension!

+1 to a POC for it in Polaris!

Cheers,
Dmitri.

On Mon, Aug 3, 2026 at 9:35 AM Robert Stupp <[email protected]> wrote:

> Thanks Romain!
>
> I looked at the Quarkiverse extension and the 0.0.1 release.
> This looks like a materially better direction for Polaris operators than
> the Polaris-managed datasource POC.
>
> As I understand it, Quarkus/Agroal still creates and manages the
> datasource; the extension only defers driver selection to runtime.
> That preserves the Quarkus-managed path, with caveats around
> driver-specific/native integrations and the current coupling to Agroal
> internals.
>
> I suggest we test the released extension in Polaris with a runtime-mounted
> driver, including health, metrics, telemetry, credentials, transactions,
> named datasources, and failure behavior.
> If those checks pass, I think we should adopt this approach and close PR
> #4984 rather than introduce a second supported datasource model.
>
> Cheers,
> Robert
>
>
> On Mon, Aug 3, 2026 at 1:01 PM Romain Manni-Bucau <[email protected]>
> wrote:
>
> > PS: with the help of George with the latest setup "merges" we get it on
> > central:
> >
> >
> https://repo1.maven.org/maven2/io/quarkiverse/jdbc/quarkus-jdbc-generic/0.0.1/
> >
> > Romain Manni-Bucau
> > @rmannibucau <https://x.com/rmannibucau> | .NET Blog
> > <https://dotnetbirdie.github.io/> | Blog <https://rmannibucau.github.io/
> >
> > | Old
> > Blog <http://rmannibucau.wordpress.com> | Github
> > <https://github.com/rmannibucau> | LinkedIn
> > <https://www.linkedin.com/in/rmannibucau> | Book
> > <
> >
> https://www.packtpub.com/en-us/product/java-ee-8-high-performance-9781788473064
> > >
> > Javaccino <https://javaccino.dev/> founder (Java/.NET service - contact
> > via
> > linkedin)
> >
> >
> > Le lun. 3 août 2026 à 09:38, Romain Manni-Bucau <[email protected]>
> a
> > écrit :
> >
> > > Hi all,
> > >
> > > FYI the quarkisverse repo was created ->
> > > https://github.com/quarkiverse/quarkus-jdbc-generic
> > >
> > > waiting some PR to be merged for the release to pass (docs, global
> > release
> > > repo so pipelines work etc), but release can come quickly (well I'll be
> > off
> > > tomorrow for some holidays with less computer time but you get the
> idea)
> > >
> > > so think it might be the way to move forward - including enhancements,
> > > wdyt?
> > >
> > > Romain Manni-Bucau
> > > @rmannibucau <https://x.com/rmannibucau> | .NET Blog
> > > <https://dotnetbirdie.github.io/> | Blog <
> https://rmannibucau.github.io/>
> > |
> > > Old Blog <http://rmannibucau.wordpress.com> | Github
> > > <https://github.com/rmannibucau> | LinkedIn
> > > <https://www.linkedin.com/in/rmannibucau> | Book
> > > <
> >
> https://www.packtpub.com/en-us/product/java-ee-8-high-performance-9781788473064
> > >
> > > Javaccino <https://javaccino.dev/> founder (Java/.NET service -
> contact
> > > via linkedin)
> > >
> > >
> > > Le ven. 31 juil. 2026 à 10:01, Romain Manni-Bucau <
> [email protected]
> > >
> > > a écrit :
> > >
> > >> quarkiverse is the community OSS marketplace of quarkus, quarkus
> 'core'
> > >> integrate with it.
> > >> personally I see it as component "second citizen" compared to core but
> > by
> > >> nature something "runtime" will not hit the core, in particular jdbc
> > (cause
> > >> panache, flyway etc will not support it easily/with all optims even if
> > >> doable).
> > >>
> > >> So it is the least worse you can get and you still get eyes from
> quarkus
> > >> community.
> > >>
> > >> In terms of usage it is just a dependency and likely - once moved -
> with
> > >> proper coordinates so it gets the same validations and quality than
> > >> built-in core extensions.
> > >>
> > >> Romain Manni-Bucau
> > >> @rmannibucau <https://x.com/rmannibucau> | .NET Blog
> > >> <https://dotnetbirdie.github.io/> | Blog <
> > https://rmannibucau.github.io/> |
> > >> Old Blog <http://rmannibucau.wordpress.com> | Github
> > >> <https://github.com/rmannibucau> | LinkedIn
> > >> <https://www.linkedin.com/in/rmannibucau> | Book
> > >> <
> >
> https://www.packtpub.com/en-us/product/java-ee-8-high-performance-9781788473064
> > >
> > >> Javaccino <https://javaccino.dev/> founder (Java/.NET service -
> contact
> > >> via linkedin)
> > >>
> > >>
> > >> Le ven. 31 juil. 2026 à 07:31, Yufei Gu <[email protected]> a
> écrit
> > :
> > >>
> > >>> Hi Romain,
> > >>>
> > >>> Thanks a lot for filing the PR and engaging with the Quarkus
> community.
> > >>> Great to see the progress there.
> > >>>
> > >>> I'm not very familiar with Quarkiverse, though. Could you or someone
> > >>> explain how quarkus-jdbc-generic would work in Quarkiverse? In
> > >>> particular,
> > >>> how would Polaris consume it? Would it allow users to mount a JDBC
> > driver
> > >>> at runtime without rebuilding or reaugmenting the application?
> > >>>
> > >>> Thanks!
> > >>> Yufei
> > >>>
> > >>> On Thu, Jul 30, 2026 at 6:36 AM Romain Manni-Bucau <
> > >>> [email protected]>
> > >>> wrote:
> > >>>
> > >>> > Hi all,
> > >>> >
> > >>> > extracted the PR I did on my github for now ->
> > >>> > https://github.com/quarkusio/quarkus/pull/55677 /
> > >>> > https://github.com/rmannibucau/quarkus-jdbc-generic
> > >>> > but it might end up in quarkiverse so can be a good solution for
> > >>> polaris
> > >>> > community maintained and quarkus supported
> > >>> >
> > >>> > side note: i'll get way less computer time in less than a week so
> if
> > >>> > somebody can follow up until I'm back it would be awesome.
> > >>> >
> > >>> > Romain Manni-Bucau
> > >>> > @rmannibucau <https://x.com/rmannibucau> | .NET Blog
> > >>> > <https://dotnetbirdie.github.io/> | Blog <
> > >>> https://rmannibucau.github.io/>
> > >>> > | Old
> > >>> > Blog <http://rmannibucau.wordpress.com> | Github
> > >>> > <https://github.com/rmannibucau> | LinkedIn
> > >>> > <https://www.linkedin.com/in/rmannibucau> | Book
> > >>> > <
> > >>> >
> > >>>
> >
> https://www.packtpub.com/en-us/product/java-ee-8-high-performance-9781788473064
> > >>> > >
> > >>> > Javaccino <https://javaccino.dev/> founder (Java/.NET service -
> > >>> contact
> > >>> > via
> > >>> > linkedin)
> > >>> >
> > >>> >
> > >>> > Le lun. 27 juil. 2026 à 23:58, Romain Manni-Bucau <
> > >>> [email protected]>
> > >>> > a
> > >>> > écrit :
> > >>> >
> > >>> > > Reaugmentation or its friend 'build commands are what makes final
> > >>> > products
> > >>> > > (like keycloak or polaris) not that consummable compared to
> > standard
> > >>> > plain
> > >>> > > JVM solution (CDI, EE, microprofile, spring and friends apps)
> > >>> > >
> > >>> > > @Dmitri building doesn't add a jar, it does if you add a
> dependency
> > >>> > > somehow, doing a "copy" somewhere does, the common use case is an
> > >>> init
> > >>> > > container copying the driver from a well know driver (or location
> > >>> even if
> > >>> > > now OCI images being mountable make it very smooth) to a folder
> in
> > >>> the
> > >>> > > classpath of the app, 0 code modification of the "app", pure
> > config.
> > >>> > > Think this is what we should be after.
> > >>> > >
> > >>> > > Romain Manni-Bucau
> > >>> > > @rmannibucau <https://x.com/rmannibucau> | .NET Blog
> > >>> > > <https://dotnetbirdie.github.io/> | Blog <
> > >>> https://rmannibucau.github.io/>
> > >>> > |
> > >>> > > Old Blog <http://rmannibucau.wordpress.com> | Github
> > >>> > > <https://github.com/rmannibucau> | LinkedIn
> > >>> > > <https://www.linkedin.com/in/rmannibucau> | Book
> > >>> > > <
> > >>> >
> > >>>
> >
> https://www.packtpub.com/en-us/product/java-ee-8-high-performance-9781788473064
> > >>> > >
> > >>> > > Javaccino founder (Java/.NET service - contact via linkedin)
> > >>> > >
> > >>> > >
> > >>> > > Le lun. 27 juil. 2026 à 19:31, Dmitri Bourlatchkov <
> > [email protected]>
> > >>> a
> > >>> > > écrit :
> > >>> > >
> > >>> > >> ... but we still need to add (at least) one more jar to the
> > >>> application,
> > >>> > >> right?
> > >>> > >>
> > >>> > >> Is that possible without re-building? Sorry, I did not read the
> > docs
> > >>> > about
> > >>> > >> "mutable-jar" :)
> > >>> > >>
> > >>> > >> Cheers,
> > >>> > >> Dmitri.
> > >>> > >>
> > >>> > >> On Mon, Jul 27, 2026 at 1:22 PM Alexandre Dutra <
> > [email protected]>
> > >>> > >> wrote:
> > >>> > >>
> > >>> > >> > Hi Dmitri,
> > >>> > >> >
> > >>> > >> > From what I understand from the docs [1], it doesn't require a
> > >>> > >> > (separate) build, however the application startup will be very
> > >>> slow
> > >>> > >> > because it will be re-built on the fly.
> > >>> > >> >
> > >>> > >> > Here is the example they show:
> > >>> > >> >
> > >>> > >> > java -jar -Dquarkus.launch.rebuild=true
> > >>> > >> > -Dquarkus.datasource.db-kind=mysql
> > >>> target/quarkus-app/quarkus-run.jar
> > >>> > >> >
> > >>> > >> > Thanks,
> > >>> > >> > Alex
> > >>> > >> >
> > >>> > >> > [1]:
> > >>> > >> >
> > >>> > >>
> > >>> >
> > >>>
> >
> https://quarkus.io/guides/reaugmentation#2-re-augment-your-application-with-a-different-build-time-configuration
> > >>> > >> >
> > >>> > >> > On Mon, Jul 27, 2026 at 7:06 PM Dmitri Bourlatchkov <
> > >>> [email protected]
> > >>> > >
> > >>> > >> > wrote:
> > >>> > >> > >
> > >>> > >> > > Hi Alex,
> > >>> > >> > >
> > >>> > >> > > Re-augmentation requires a build, does it not?
> > >>> > >> > >
> > >>> > >> > > We can probably do that inside docker:
> > >>> > >> > >
> > >>> > >> > > * User adds a jar to the image
> > >>> > >> > > * Quarkus build is executed inside docker build (using
> helper
> > >>> > scripts
> > >>> > >> > > from Polaris)
> > >>> > >> > > * Final image is has the driver available via Quarkus.
> > >>> > >> > >
> > >>> > >> > > Did you mean something like this?
> > >>> > >> > >
> > >>> > >> > > Cheers,
> > >>> > >> > > Dmitri.
> > >>> > >> > >
> > >>> > >> > > On Mon, Jul 27, 2026 at 10:30 AM Alexandre Dutra <
> > >>> [email protected]
> > >>> > >
> > >>> > >> > wrote:
> > >>> > >> > >
> > >>> > >> > > > Hi all,
> > >>> > >> > > >
> > >>> > >> > > > Indeed the Quarkus PR is likely not going to be accepted,
> > >>> however
> > >>> > it
> > >>> > >> > > > seems that moving it to Quarkiverse could be acceptable.
> > >>> > >> > > >
> > >>> > >> > > > Someone also suggested the Keycloak project's approach to
> > this
> > >>> > >> > > > problem: re-augmentation. Keycloak has exactly the same
> > >>> problem.
> > >>> > Can
> > >>> > >> > > > we explore this idea as well?
> > >>> > >> > > >
> > >>> > >> > > > Thanks,
> > >>> > >> > > > Alex
> > >>> > >> > > >
> > >>> > >> > > > On Mon, Jul 27, 2026 at 4:26 PM Dmitri Bourlatchkov <
> > >>> > >> [email protected]>
> > >>> > >> > > > wrote:
> > >>> > >> > > > >
> > >>> > >> > > > > Hi All,
> > >>> > >> > > > >
> > >>> > >> > > > > Reading recent replies on Quarkus PR [55677] it does not
> > >>> looks
> > >>> > >> like
> > >>> > >> > this
> > >>> > >> > > > > proposal is viable... unfortunately.
> > >>> > >> > > > >
> > >>> > >> > > > > If we go with a mixed approach similar to our PR [4984],
> > how
> > >>> > about
> > >>> > >> > the
> > >>> > >> > > > > following proposal?
> > >>> > >> > > > >
> > >>> > >> > > > > * Keep the JDBC persistence code generic and unaware of
> > >>> > DataSource
> > >>> > >> > > > > implementations (i.e. do not try to "manage" it there)
> > >>> > >> > > > >
> > >>> > >> > > > > * Handle custom DataSources at the CDI layer in the
> > >>> runtime/*
> > >>> > >> modules
> > >>> > >> > > > > (ServiceProducers or similar (shared) code). This layer
> > will
> > >>> > >> choose
> > >>> > >> > > > whether
> > >>> > >> > > > > to use the Quarkus-managed DataSource (default), or load
> > the
> > >>> > >> driver
> > >>> > >> > > > > dynamically and "manually" configure the DataSource.
> > Custom
> > >>> > >> > downstream
> > >>> > >> > > > > builds will keep the option to override the DataSource
> via
> > >>> CDI
> > >>> > >> > mechanics.
> > >>> > >> > > > >
> > >>> > >> > > > > * Do not try to make custom DataSource configuration to
> be
> > >>> the
> > >>> > >> same
> > >>> > >> > as
> > >>> > >> > > > the
> > >>> > >> > > > > Quarkus configuration. It can only cause maintenance
> > >>> headache.
> > >>> > >> Define
> > >>> > >> > > > > separate, documented configuration options for the
> dynamic
> > >>> path.
> > >>> > >> > Users of
> > >>> > >> > > > > the dynamic driver will have to handle deployment
> > >>> differences
> > >>> > >> anyway.
> > >>> > >> > > > >
> > >>> > >> > > > > * Use Agroal on both paths for consistency.
> > >>> > >> > > > >
> > >>> > >> > > > > * Add a small integration test for the dynamic path
> based
> > on
> > >>> > MySQL
> > >>> > >> > > > > (test-only GPL deps are ok, I guess).
> > >>> > >> > > > >
> > >>> > >> > > > > As Alex noted above, we'll need to review observability
> in
> > >>> the
> > >>> > >> custom
> > >>> > >> > > > > DataSource case. I believe that no OTel support will be
> > >>> > available
> > >>> > >> > there
> > >>> > >> > > > by
> > >>> > >> > > > > default, which probably needs to be documented (at
> least).
> > >>> > >> > > > >
> > >>> > >> > > > > [4984] https://github.com/apache/polaris/pull/4984
> > >>> > >> > > > >
> > >>> > >> > > > > [55677] https://github.com/quarkusio/quarkus/pull/55677
> > >>> > >> > > > >
> > >>> > >> > > > > Cheers,
> > >>> > >> > > > > Dmitri.
> > >>> > >> > > > >
> > >>> > >> > > > > On Mon, Jul 27, 2026 at 8:23 AM Jean-Baptiste Onofré <
> > >>> > >> > [email protected]>
> > >>> > >> > > > > wrote:
> > >>> > >> > > > >
> > >>> > >> > > > > > Hi all,
> > >>> > >> > > > > >
> > >>> > >> > > > > > I previously mentioned the potential for confusion in
> my
> > >>> > review
> > >>> > >> of
> > >>> > >> > the
> > >>> > >> > > > > > PR. I believe our next steps depend on timing: if a
> > native
> > >>> > >> > solution in
> > >>> > >> > > > > > Agroal/Quarkus is achievable soon, that would be the
> > ideal
> > >>> > path.
> > >>> > >> > > > > > Otherwise, I think PR #4984 could serve as a suitable
> > >>> > temporary
> > >>> > >> > > > > > mitigation.
> > >>> > >> > > > > >
> > >>> > >> > > > > > Regards,
> > >>> > >> > > > > > JB
> > >>> > >> > > > > >
> > >>> > >> > > > > > On Mon, Jul 27, 2026 at 9:30 AM Alexandre Dutra <
> > >>> > >> [email protected]
> > >>> > >> > >
> > >>> > >> > > > wrote:
> > >>> > >> > > > > > >
> > >>> > >> > > > > > > Hi Yufei,
> > >>> > >> > > > > > >
> > >>> > >> > > > > > > I am still uncomfortable with the approach taken in
> > >>> #4984 of
> > >>> > >> > mixing
> > >>> > >> > > > > > > managed and unmanaged datasources. IMHO it's
> confusing
> > >>> from
> > >>> > a
> > >>> > >> > > > > > > configuration and observability perspective, and I
> > fear
> > >>> that
> > >>> > >> > > > > > > maintaining unmanaged datasources will prove way
> more
> > >>> > >> complicated
> > >>> > >> > > > than
> > >>> > >> > > > > > > "just" starting and stopping a datasource manually.
> > >>> > >> > > > > > >
> > >>> > >> > > > > > > Thanks,
> > >>> > >> > > > > > > Alex
> > >>> > >> > > > > > >
> > >>> > >> > > > > > >
> > >>> > >> > > > > > > On Sun, Jul 26, 2026 at 8:14 PM Yufei Gu <
> > >>> > >> [email protected]>
> > >>> > >> > > > wrote:
> > >>> > >> > > > > > > >
> > >>> > >> > > > > > > > Thanks for chiming in, JB! That's essentially the
> > >>> approach
> > >>> > >> in
> > >>> > >> > my
> > >>> > >> > > > > > PR(4984
> > >>> > >> > > > > > > > <https://github.com/apache/polaris/pull/4984>),
> > which
> > >>> > >> > corresponds
> > >>> > >> > > > to
> > >>> > >> > > > > > Option
> > >>> > >> > > > > > > > 2 in Robert's email. Are we OK moving foward with
> > >>> this?
> > >>> > >> > > > > > > >
> > >>> > >> > > > > > > > Per-realm routing is a potential use case, not the
> > >>> scope
> > >>> > of
> > >>> > >> > this
> > >>> > >> > > > > > effort.
> > >>> > >> > > > > > > >
> > >>> > >> > > > > > > > Yufei
> > >>> > >> > > > > > > >
> > >>> > >> > > > > > > >
> > >>> > >> > > > > > > > On Sun, Jul 26, 2026 at 10:03 AM Jean-Baptiste
> > Onofré
> > >>> <
> > >>> > >> > > > [email protected]
> > >>> > >> > > > > > >
> > >>> > >> > > > > > > > wrote:
> > >>> > >> > > > > > > >
> > >>> > >> > > > > > > > > Hi
> > >>> > >> > > > > > > > >
> > >>> > >> > > > > > > > > As already said, I still think Quarkus/Agroal
> > stays
> > >>> the
> > >>> > >> > default
> > >>> > >> > > > and
> > >>> > >> > > > > > > > > single supported pool. I think adding a narrow,
> > >>> > JVM-only,
> > >>> > >> > > > documented
> > >>> > >> > > > > > > > > runtime driver escape hatch is right.
> > >>> > >> > > > > > > > >
> > >>> > >> > > > > > > > > Concretely, I would:
> > >>> > >> > > > > > > > > 1. Split the PR: runtime driver loading is a
> > small,
> > >>> > >> > defensible
> > >>> > >> > > > > > > > > feature. The second pool, and per-realm routing
> > are
> > >>> not
> > >>> > >> > imho, and
> > >>> > >> > > > > > > > > should not ride in on its coattails.
> > >>> > >> > > > > > > > > 2. I think per-realm routing is a way bigger
> > >>> > architectural
> > >>> > >> > > > decision.
> > >>> > >> > > > > > > > > 3. I think we should have an explicit agreement
> on
> > >>> the
> > >>> > >> > contract
> > >>> > >> > > > > > before
> > >>> > >> > > > > > > > > merging.
> > >>> > >> > > > > > > > >
> > >>> > >> > > > > > > > > The best would be to use Agroal, supporting a
> > >>> > >> runtime-mounted
> > >>> > >> > > > driver
> > >>> > >> > > > > > > > > in JVM mode. I will ping my Quarkus contacts to
> > get
> > >>> the
> > >>> > >> > status of
> > >>> > >> > > > > > > > > that.
> > >>> > >> > > > > > > > >
> > >>> > >> > > > > > > > > Regards
> > >>> > >> > > > > > > > > JB
> > >>> > >> > > > > > > > >
> > >>> > >> > > > > > > > >
> > >>> > >> > > > > > > > >
> > >>> > >> > > > > > > > > On Fri, Jul 24, 2026 at 10:24 PM Yufei Gu <
> > >>> > >> > [email protected]>
> > >>> > >> > > > > > wrote:
> > >>> > >> > > > > > > > > >
> > >>> > >> > > > > > > > > > Robert,
> > >>> > >> > > > > > > > > >
> > >>> > >> > > > > > > > > > I don't think these are hypothetical use
> cases.
> > >>> > They've
> > >>> > >> > been
> > >>> > >> > > > > > recurring
> > >>> > >> > > > > > > > > > design topics in Polaris for well over a year.
> > >>> > >> > > > > > > > > >
> > >>> > >> > > > > > > > > >    - A JDBC driver supplied at runtime instead
> > of
> > >>> > being
> > >>> > >> on
> > >>> > >> > the
> > >>> > >> > > > > > build time
> > >>> > >> > > > > > > > > >    classpath is important for proprietary and
> > >>> Apache
> > >>> > >> > license
> > >>> > >> > > > > > incompatible
> > >>> > >> > > > > > > > > >    drivers, such as MySQL. This has been
> > >>> discussed in
> > >>> > >> the
> > >>> > >> > > > > > community for
> > >>> > >> > > > > > > > > some
> > >>> > >> > > > > > > > > >    time, and PR #4281[4] was blocked by this
> > >>> > limitation.
> > >>> > >> > > > > > > > > >    - We've also discussed realm based
> datasource
> > >>> > routing
> > >>> > >> > > > > > repeatedly. For
> > >>> > >> > > > > > > > > >    example:
> > >>> > >> > > > > > > > > >       - Issue #3890 [1] tracks multi
> datasource
> > >>> > support
> > >>> > >> and
> > >>> > >> > > > > > explicitly
> > >>> > >> > > > > > > > > >       discusses whether separation should be
> per
> > >>> realm
> > >>> > >> or
> > >>> > >> > by
> > >>> > >> > > > > > workload.
> > >>> > >> > > > > > > > > >       - PR #1482 [2] proposed a concrete realm
> > to
> > >>> > >> > datasource
> > >>> > >> > > > > > mapping. The
> > >>> > >> > > > > > > > > >       discussion wasn't that the use case was
> > >>> invalid,
> > >>> > >> but
> > >>> > >> > that
> > >>> > >> > > > > > > > > Quarkus's build
> > >>> > >> > > > > > > > > >       time datasource model made it difficult.
> > >>> > >> > > > > > > > > >       - PR #3960 [3] introduced
> > >>> DataSourceResolver as
> > >>> > >> > > > groundwork
> > >>> > >> > > > > > for
> > >>> > >> > > > > > > > > >       datasource routing. The feedback was to
> > >>> refine
> > >>> > the
> > >>> > >> > > > design,
> > >>> > >> > > > > > not
> > >>> > >> > > > > > > > > > that the use
> > >>> > >> > > > > > > > > >       case itself shouldn't be supported.
> > >>> > >> > > > > > > > > >
> > >>> > >> > > > > > > > > > Given this history, I don't think the question
> > is
> > >>> > >> whether
> > >>> > >> > these
> > >>> > >> > > > > > are real
> > >>> > >> > > > > > > > > > use cases. The project has already
> acknowledged
> > >>> them
> > >>> > >> > multiple
> > >>> > >> > > > > > times.
> > >>> > >> > > > > > > > > >
> > >>> > >> > > > > > > > > > Romain, thanks for the suggestion. I wish this
> > >>> could
> > >>> > be
> > >>> > >> > > > resolved
> > >>> > >> > > > > > upstream
> > >>> > >> > > > > > > > > > in Quarkus, but I don't have much hope, since
> > >>> build
> > >>> > time
> > >>> > >> > > > dependency
> > >>> > >> > > > > > > > > > resolution is one of Quarkus's core design
> > >>> principles.
> > >>> > >> > > > > > > > > >
> > >>> > >> > > > > > > > > > [1]
> > https://github.com/apache/polaris/issues/3890
> > >>> > >> > > > > > > > > >
> > >>> > >> > > > > > > > > > [2]
> https://github.com/apache/polaris/pull/1482
> > >>> > >> > > > > > > > > >
> > >>> > >> > > > > > > > > > [3]
> https://github.com/apache/polaris/pull/3960
> > >>> > >> > > > > > > > > >
> > >>> > >> > > > > > > > > > [4]
> https://github.com/apache/polaris/pull/4281
> > >>> > >> > > > > > > > > >
> > >>> > >> > > > > > > > > > Yufei
> > >>> > >> > > > > > > > > >
> > >>> > >> > > > > > > > > >
> > >>> > >> > > > > > > > > > On Fri, Jul 24, 2026 at 8:54 AM Romain
> > >>> Manni-Bucau <
> > >>> > >> > > > > > > > > [email protected]>
> > >>> > >> > > > > > > > > > wrote:
> > >>> > >> > > > > > > > > >
> > >>> > >> > > > > > > > > > > If down stream users need to build anything
> > >>> instead
> > >>> > of
> > >>> > >> > mount
> > >>> > >> > > > the
> > >>> > >> > > > > > driver
> > >>> > >> > > > > > > > > > > then polaris becomes a lib and not a server,
> > >>> think
> > >>> > >> very
> > >>> > >> > few
> > >>> > >> > > > > > consumer
> > >>> > >> > > > > > > > > see it
> > >>> > >> > > > > > > > > > > this way nor would like it so I would favor
> > >>> runtime
> > >>> > >> > support.
> > >>> > >> > > > > > > > > > >
> > >>> > >> > > > > > > > > > > The side note is that it is always better to
> > not
> > >>> > >> compète
> > >>> > >> > with
> > >>> > >> > > > > > its own
> > >>> > >> > > > > > > > > stack
> > >>> > >> > > > > > > > > > > so maybe two push back to quarkus natively
> > >>> before
> > >>> > >> acting
> > >>> > >> > > > there.
> > >>> > >> > > > > > > > > > >
> > >>> > >> > > > > > > > > > >
> > >>> > >> > > > > > > > > > > Romain Manni-Bucau
> > >>> > >> > > > > > > > > > > @rmannibucau <https://x.com/rmannibucau> |
> > .NET
> > >>> > Blog
> > >>> > >> > > > > > > > > > > <https://dotnetbirdie.github.io/> | Blog <
> > >>> > >> > > > > > > > > https://rmannibucau.github.io/>
> > >>> > >> > > > > > > > > > > | Old
> > >>> > >> > > > > > > > > > > Blog <http://rmannibucau.wordpress.com> |
> > >>> Github
> > >>> > >> > > > > > > > > > > <https://github.com/rmannibucau> | LinkedIn
> > >>> > >> > > > > > > > > > > <https://www.linkedin.com/in/rmannibucau> |
> > >>> Book
> > >>> > >> > > > > > > > > > > <
> > >>> > >> > > > > > > > > > >
> > >>> > >> > > > > > > > >
> > >>> > >> > > > > >
> > >>> > >> > > >
> > >>> > >> >
> > >>> > >>
> > >>> >
> > >>>
> >
> https://www.packtpub.com/en-us/product/java-ee-8-high-performance-9781788473064
> > >>> > >> > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > Javaccino founder (Java/.NET service -
> contact
> > >>> via
> > >>> > >> > linkedin)
> > >>> > >> > > > > > > > > > >
> > >>> > >> > > > > > > > > > > Le ven. 24 juil. 2026, 17:50, Robert Stupp <
> > >>> > >> > [email protected]>
> > >>> > >> > > > a
> > >>> > >> > > > > > écrit :
> > >>> > >> > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > Hi Yufei,
> > >>> > >> > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > Option 1 would not provide either
> capability
> > >>> at
> > >>> > >> > runtime in
> > >>> > >> > > > the
> > >>> > >> > > > > > > > > upstream
> > >>> > >> > > > > > > > > > > > Polaris distribution.
> > >>> > >> > > > > > > > > > > > Optional drivers would be added through a
> > >>> > downstream
> > >>> > >> > build
> > >>> > >> > > > or
> > >>> > >> > > > > > > > > assembly,
> > >>> > >> > > > > > > > > > > and
> > >>> > >> > > > > > > > > > > > datasource creation would remain
> > >>> Quarkus-managed.
> > >>> > >> > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > That is intentional rather than a missing
> > >>> part of
> > >>> > >> > option 1.
> > >>> > >> > > > > > > > > > > > I mentioned runtime driver loading and
> > >>> per-realm
> > >>> > >> > routing
> > >>> > >> > > > > > because
> > >>> > >> > > > > > > > > they are
> > >>> > >> > > > > > > > > > > > the two use cases stated for the POC, not
> > >>> because
> > >>> > I
> > >>> > >> > think
> > >>> > >> > > > the
> > >>> > >> > > > > > > > > project has
> > >>> > >> > > > > > > > > > > > already agreed that Polaris itself must
> > >>> support
> > >>> > >> both.
> > >>> > >> > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > The concrete current ask I see is a viable
> > >>> path
> > >>> > for
> > >>> > >> > > > optional
> > >>> > >> > > > > > drivers
> > >>> > >> > > > > > > > > that
> > >>> > >> > > > > > > > > > > > Polaris cannot distribute in ASF releases.
> > >>> > >> > > > > > > > > > > > Runtime loading is one possible answer to
> > that
> > >>> > ask.
> > >>> > >> > > > > > > > > > > > A downstream build or assembly is another.
> > >>> > >> > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > Dynamic per-realm datasource creation is a
> > >>> > separate
> > >>> > >> > future
> > >>> > >> > > > > > design.
> > >>> > >> > > > > > > > > > > > I do not think it should become an
> implicit
> > >>> > >> requirement
> > >>> > >> > > > for the
> > >>> > >> > > > > > > > > > > > optional-driver decision before its
> > isolation,
> > >>> > >> > lifecycle,
> > >>> > >> > > > > > resource,
> > >>> > >> > > > > > > > > and
> > >>> > >> > > > > > > > > > > > operational contract has been discussed.
> > >>> > >> > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > So before evaluating option 1 against
> option
> > >>> 2's
> > >>> > >> > > > capabilities,
> > >>> > >> > > > > > I
> > >>> > >> > > > > > > > > think we
> > >>> > >> > > > > > > > > > > > need to decide whether runtime driver
> > loading
> > >>> and
> > >>> > >> > > > Polaris-owned
> > >>> > >> > > > > > > > > dynamic
> > >>> > >> > > > > > > > > > > > datasource creation are project
> > requirements.
> > >>> > >> > > > > > > > > > > > If both are requirements, option 1 is
> > >>> naturally
> > >>> > >> > excluded.
> > >>> > >> > > > > > > > > > > > If they are not, the POC's additional
> > >>> capabilities
> > >>> > >> > should
> > >>> > >> > > > not
> > >>> > >> > > > > > by
> > >>> > >> > > > > > > > > > > themselves
> > >>> > >> > > > > > > > > > > > become acceptance criteria for every
> > >>> alternative.
> > >>> > >> > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > My preference remains to preserve the
> > >>> > >> Quarkus-managed
> > >>> > >> > path
> > >>> > >> > > > and
> > >>> > >> > > > > > > > > address
> > >>> > >> > > > > > > > > > > the
> > >>> > >> > > > > > > > > > > > optional-driver ask as narrowly as
> possible.
> > >>> > >> > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > Cheers,
> > >>> > >> > > > > > > > > > > > Robert
> > >>> > >> > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > On Thu, Jul 23, 2026 at 8:59 PM Yufei Gu <
> > >>> > >> > > > [email protected]
> > >>> > >> > > > > > >
> > >>> > >> > > > > > > > > wrote:
> > >>> > >> > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > That ask does not by itself justify
> > >>> moving all
> > >>> > >> > > > supported
> > >>> > >> > > > > > > > > deployments
> > >>> > >> > > > > > > > > > > > away
> > >>> > >> > > > > > > > > > > > > > from Quarkus datasource management.
> > >>> > >> > > > > > > > > > > > > > Doing so would make Polaris
> responsible
> > >>> for
> > >>> > >> > > > configuration
> > >>> > >> > > > > > > > > > > > compatibility,
> > >>> > >> > > > > > > > > > > > > > lifecycle, health, metrics, tracing,
> > >>> > >> > > > credentials-provider
> > >>> > >> > > > > > > > > > > integration,
> > >>> > >> > > > > > > > > > > > > > shutdown, upgrades, and the support
> > matrix
> > >>> > >> > currently
> > >>> > >> > > > > > covered by
> > >>> > >> > > > > > > > > > > > Quarkus.
> > >>> > >> > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > 1. Keep Quarkus-managed data-sources
> and
> > >>> > >> document
> > >>> > >> > the
> > >>> > >> > > > > > downstream
> > >>> > >> > > > > > > > > > > > > >    build/assembly path for optional
> > >>> drivers.
> > >>> > >> > > > > > > > > > > > > > 2. Keep Quarkus-managed data-sources
> as
> > >>> the
> > >>> > >> > default and
> > >>> > >> > > > > > add a
> > >>> > >> > > > > > > > > > > > > deliberately
> > >>> > >> > > > > > > > > > > > > >    limited JVM-only runtime-driver
> > escape
> > >>> > hatch.
> > >>> > >> > > > > > > > > > > > > > 3. Replace Quarkus-managed
> data-sources
> > >>> > >> completely.
> > >>> > >> > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > My current preference is ... (option1).
> > >>> > >> > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > Robert, one thing I'm still unclear
> about
> > >>> is how
> > >>> > >> > option 1
> > >>> > >> > > > > > would
> > >>> > >> > > > > > > > > support
> > >>> > >> > > > > > > > > > > > the
> > >>> > >> > > > > > > > > > > > > following use cases that you mentioned:
> > >>> > >> > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > >    - Loading optional JDBC drivers at
> > >>> runtime.
> > >>> > >> > > > > > > > > > > > >    - Creating datasources dynamically
> as a
> > >>> > >> building
> > >>> > >> > > > block for
> > >>> > >> > > > > > > > > future
> > >>> > >> > > > > > > > > > > per
> > >>> > >> > > > > > > > > > > > >    realm routing.
> > >>> > >> > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > My PR proposes option 2 because it
> > addresses
> > >>> > these
> > >>> > >> > use
> > >>> > >> > > > cases
> > >>> > >> > > > > > while
> > >>> > >> > > > > > > > > > > > keeping
> > >>> > >> > > > > > > > > > > > > the existing Quarkus managed deployment
> > path
> > >>> > >> > unchanged.
> > >>> > >> > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > Yufei
> > >>> > >> > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > On Thu, Jul 23, 2026 at 8:59 AM Dmitri
> > >>> > >> Bourlatchkov <
> > >>> > >> > > > > > > > > [email protected]>
> > >>> > >> > > > > > > > > > > > > wrote:
> > >>> > >> > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > Hi Yufei,
> > >>> > >> > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > I wonder why you chose Hikari
> initially
> > in
> > >>> > your
> > >>> > >> PR
> > >>> > >> > > > 4984.
> > >>> > >> > > > > > > > > > > Understanding
> > >>> > >> > > > > > > > > > > > > that
> > >>> > >> > > > > > > > > > > > > > rationale could be helpful for this
> > >>> > discussion.
> > >>> > >> > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > Thanks,
> > >>> > >> > > > > > > > > > > > > > Dmitri.
> > >>> > >> > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > On Wed, Jul 22, 2026 at 11:28 PM Yufei
> > Gu
> > >>> <
> > >>> > >> > > > > > [email protected]>
> > >>> > >> > > > > > > > > > > > wrote:
> > >>> > >> > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > Looks like we have two options at
> this
> > >>> > point:
> > >>> > >> > Hikari
> > >>> > >> > > > > > (Alex,
> > >>> > >> > > > > > > > > me) and
> > >>> > >> > > > > > > > > > > > > > Agroal
> > >>> > >> > > > > > > > > > > > > > > (Dmitri, JB, Romain).
> > >>> > >> > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > Is there any further investigation
> we
> > >>> should
> > >>> > >> do
> > >>> > >> > > > before
> > >>> > >> > > > > > making a
> > >>> > >> > > > > > > > > > > > > decision?
> > >>> > >> > > > > > > > > > > > > > > Or are we ready to start a vote?
> > >>> > >> > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > Yufei
> > >>> > >> > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > On Thu, Jul 16, 2026 at 10:15 PM
> > Romain
> > >>> > >> > Manni-Bucau <
> > >>> > >> > > > > > > > > > > > > > [email protected]
> > >>> > >> > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > wrote:
> > >>> > >> > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > Maybe add "is there more than one
> > >>> > committer"
> > >>> > >> > on the
> > >>> > >> > > > > > project
> > >>> > >> > > > > > > > > as a
> > >>> > >> > > > > > > > > > > > > > > criteria.
> > >>> > >> > > > > > > > > > > > > > > > Agroal is far to be my preferred
> > pool
> > >>> but
> > >>> > it
> > >>> > >> > is as
> > >>> > >> > > > > > easy as
> > >>> > >> > > > > > > > > others
> > >>> > >> > > > > > > > > > > > in
> > >>> > >> > > > > > > > > > > > > > > terms
> > >>> > >> > > > > > > > > > > > > > > > of config starting from properties
> > >>> ([1])
> > >>> > and
> > >>> > >> > using
> > >>> > >> > > > its
> > >>> > >> > > > > > > > > listeners.
> > >>> > >> > > > > > > > > > > > > > > > Also note that I assume all
> > properties
> > >>> > will
> > >>> > >> > not be
> > >>> > >> > > > > > exposed
> > >>> > >> > > > > > > > > but
> > >>> > >> > > > > > > > > > > > > > abstracted
> > >>> > >> > > > > > > > > > > > > > > > by polaris configuration
> > (potentially
> > >>> > >> enabling
> > >>> > >> > a
> > >>> > >> > > > switch
> > >>> > >> > > > > > > > > later or
> > >>> > >> > > > > > > > > > > a
> > >>> > >> > > > > > > > > > > > > > > > multipool support like in Apache
> > >>> TomEE) so
> > >>> > >> > maybe
> > >>> > >> > > > it is
> > >>> > >> > > > > > the
> > >>> > >> > > > > > > > > first
> > >>> > >> > > > > > > > > > > > > thing
> > >>> > >> > > > > > > > > > > > > > to
> > >>> > >> > > > > > > > > > > > > > > > define, the needed properties and
> > >>> > callbacks?
> > >>> > >> > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > [1]
> > >>> > >> > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > >
> > >>> > >> > > > > > > > > > >
> > >>> > >> > > > > > > > >
> > >>> > >> > > > > >
> > >>> > >> > > >
> > >>> > >> >
> > >>> > >>
> > >>> >
> > >>>
> >
> https://github.com/agroal/agroal/blob/517fd36ab0cf1faebaae7d57a55c788d499a4c88/agroal-api/src/main/java/io/agroal/api/configuration/supplier/AgroalPropertiesReader.java#L56
> > >>> > >> > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > Romain Manni-Bucau
> > >>> > >> > > > > > > > > > > > > > > > @rmannibucau <
> > >>> https://x.com/rmannibucau>
> > >>> > |
> > >>> > >> > .NET
> > >>> > >> > > > Blog
> > >>> > >> > > > > > > > > > > > > > > > <https://dotnetbirdie.github.io/>
> |
> > >>> Blog
> > >>> > <
> > >>> > >> > > > > > > > > > > > > > https://rmannibucau.github.io/
> > >>> > >> > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > | Old
> > >>> > >> > > > > > > > > > > > > > > > Blog <
> > >>> http://rmannibucau.wordpress.com> |
> > >>> > >> > Github
> > >>> > >> > > > > > > > > > > > > > > > <https://github.com/rmannibucau>
> |
> > >>> > LinkedIn
> > >>> > >> > > > > > > > > > > > > > > > <
> > >>> https://www.linkedin.com/in/rmannibucau>
> > >>> > |
> > >>> > >> > Book
> > >>> > >> > > > > > > > > > > > > > > > <
> > >>> > >> > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > >
> > >>> > >> > > > > > > > > > >
> > >>> > >> > > > > > > > >
> > >>> > >> > > > > >
> > >>> > >> > > >
> > >>> > >> >
> > >>> > >>
> > >>> >
> > >>>
> >
> https://www.packtpub.com/en-us/product/java-ee-8-high-performance-9781788473064
> > >>> > >> > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > Javaccino founder (Java/.NET
> > service -
> > >>> > >> contact
> > >>> > >> > via
> > >>> > >> > > > > > linkedin)
> > >>> > >> > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > Le jeu. 16 juil. 2026 à 22:18,
> > >>> Alexandre
> > >>> > >> Dutra
> > >>> > >> > <
> > >>> > >> > > > > > > > > > > [email protected]>
> > >>> > >> > > > > > > > > > > > a
> > >>> > >> > > > > > > > > > > > > > > > écrit :
> > >>> > >> > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > Hi all,
> > >>> > >> > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > I don't think the actual pool
> > >>> > >> implementation
> > >>> > >> > > > matters
> > >>> > >> > > > > > much,
> > >>> > >> > > > > > > > > but
> > >>> > >> > > > > > > > > > > I
> > >>> > >> > > > > > > > > > > > > > would
> > >>> > >> > > > > > > > > > > > > > > > > weigh in some important criteria
> > >>> before
> > >>> > >> > choosing:
> > >>> > >> > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > - Is it easily configurable?
> > >>> > >> > > > > > > > > > > > > > > > > - Is it easily instrumentable?
> > >>> > >> > > > > > > > > > > > > > > > > - Is it well documented &
> > >>> maintained?
> > >>> > >> > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > While Agroal is the de facto
> > choice
> > >>> for
> > >>> > >> > Quarkus
> > >>> > >> > > > > > (it's a
> > >>> > >> > > > > > > > > JBoss
> > >>> > >> > > > > > > > > > > > > lib), I
> > >>> > >> > > > > > > > > > > > > > > > > am not sure it outperforms
> Hikari
> > >>> for
> > >>> > all
> > >>> > >> the
> > >>> > >> > > > > > criteria
> > >>> > >> > > > > > > > > above.
> > >>> > >> > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > Thanks,
> > >>> > >> > > > > > > > > > > > > > > > > Alex
> > >>> > >> > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > On Thu, Jul 16, 2026 at 6:22 PM
> > >>> Yufei
> > >>> > Gu <
> > >>> > >> > > > > > > > > [email protected]
> > >>> > >> > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > wrote:
> > >>> > >> > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > Thanks everyone for chiming
> in.
> > >>> Agroal
> > >>> > >> is a
> > >>> > >> > > > good
> > >>> > >> > > > > > option
> > >>> > >> > > > > > > > > as
> > >>> > >> > > > > > > > > > > > well.
> > >>> > >> > > > > > > > > > > > > It
> > >>> > >> > > > > > > > > > > > > > > > looks
> > >>> > >> > > > > > > > > > > > > > > > > > like we're reaching consensus
> on
> > >>> > direct
> > >>> > >> > > > datasource
> > >>> > >> > > > > > > > > management
> > >>> > >> > > > > > > > > > > > at
> > >>> > >> > > > > > > > > > > > > > > > runtime.
> > >>> > >> > > > > > > > > > > > > > > > > > I'll start working on the
> > >>> > implementation
> > >>> > >> > soon.
> > >>> > >> > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > Yufei
> > >>> > >> > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > On Thu, Jul 16, 2026 at
> 4:16 AM
> > >>> > >> > Jean-Baptiste
> > >>> > >> > > > > > Onofré <
> > >>> > >> > > > > > > > > > > > > > > [email protected]>
> > >>> > >> > > > > > > > > > > > > > > > > > wrote:
> > >>> > >> > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > Hi all,
> > >>> > >> > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > I agree that direct
> datasource
> > >>> > >> > management at
> > >>> > >> > > > > > runtime
> > >>> > >> > > > > > > > > is a
> > >>> > >> > > > > > > > > > > > > better
> > >>> > >> > > > > > > > > > > > > > > > > > > approach than relying on
> > >>> > >> > quarkus-datasource,
> > >>> > >> > > > > > which
> > >>> > >> > > > > > > > > > > currently
> > >>> > >> > > > > > > > > > > > > > > requires
> > >>> > >> > > > > > > > > > > > > > > > > > > build-time dependencies.
> > >>> > >> > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > However, we can stay within
> > the
> > >>> > >> Quarkus
> > >>> > >> > > > > > ecosystem and
> > >>> > >> > > > > > > > > avoid
> > >>> > >> > > > > > > > > > > > > > > > > > > introducing new dependencies
> > by
> > >>> > using
> > >>> > >> > Agroal,
> > >>> > >> > > > > > which is
> > >>> > >> > > > > > > > > > > > already
> > >>> > >> > > > > > > > > > > > > > > > > > > included in our
> dependencies.
> > >>> This
> > >>> > >> also
> > >>> > >> > keeps
> > >>> > >> > > > > > the door
> > >>> > >> > > > > > > > > open
> > >>> > >> > > > > > > > > > > > to
> > >>> > >> > > > > > > > > > > > > > > > > > > combining it with Panache in
> > the
> > >>> > >> future,
> > >>> > >> > > > should
> > >>> > >> > > > > > we
> > >>> > >> > > > > > > > > decide
> > >>> > >> > > > > > > > > > > to
> > >>> > >> > > > > > > > > > > > do
> > >>> > >> > > > > > > > > > > > > > so.
> > >>> > >> > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > Regards,
> > >>> > >> > > > > > > > > > > > > > > > > > > JB
> > >>> > >> > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > On Thu, Jul 16, 2026 at
> > 1:28 AM
> > >>> > Yufei
> > >>> > >> Gu
> > >>> > >> > <
> > >>> > >> > > > > > > > > > > > [email protected]
> > >>> > >> > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > wrote:
> > >>> > >> > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > If our goal is to
> > transition
> > >>> > >> > entirely to
> > >>> > >> > > > a
> > >>> > >> > > > > > > > > > > > "runtime-driven"
> > >>> > >> > > > > > > > > > > > > > > > > > > architecture,
> > >>> > >> > > > > > > > > > > > > > > > > > > > we should commit to it
> > >>> completely
> > >>> > by
> > >>> > >> > fully
> > >>> > >> > > > > > removing
> > >>> > >> > > > > > > > > the
> > >>> > >> > > > > > > > > > > > > > > > > > > >
> > io.quarkus:quarkus-datasource
> > >>> > >> > > > > > > > > > > > > > > > > > > > dependency and switching
> to
> > >>> Hikari
> > >>> > >> > > > > > unconditionally.
> > >>> > >> > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > Good point, Alex! I'm open
> > to
> > >>> > that.
> > >>> > >> If
> > >>> > >> > the
> > >>> > >> > > > > > community
> > >>> > >> > > > > > > > > > > > agrees,
> > >>> > >> > > > > > > > > > > > > I
> > >>> > >> > > > > > > > > > > > > > > can
> > >>> > >> > > > > > > > > > > > > > > > > make
> > >>> > >> > > > > > > > > > > > > > > > > > > > that change.
> > >>> > >> > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > Romain, I chose Hikari
> > >>> because it
> > >>> > is
> > >>> > >> > lean,
> > >>> > >> > > > > > fast,
> > >>> > >> > > > > > > > > simple.
> > >>> > >> > > > > > > > > > > > I'm
> > >>> > >> > > > > > > > > > > > > > open
> > >>> > >> > > > > > > > > > > > > > > > to
> > >>> > >> > > > > > > > > > > > > > > > > > > > alternatives like dbcp2 if
> > its
> > >>> > >> > evaluation
> > >>> > >> > > > > > proves
> > >>> > >> > > > > > > > > better.
> > >>> > >> > > > > > > > > > > As
> > >>> > >> > > > > > > > > > > > > you
> > >>> > >> > > > > > > > > > > > > > > > said,
> > >>> > >> > > > > > > > > > > > > > > > > > > both
> > >>> > >> > > > > > > > > > > > > > > > > > > > have pros and cons.
> > >>> > >> > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > Yufei
> > >>> > >> > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > On Wed, Jul 15, 2026 at
> > >>> 11:03 AM
> > >>> > >> Romain
> > >>> > >> > > > > > Manni-Bucau <
> > >>> > >> > > > > > > > > > > > > > > > > > > [email protected]>
> > >>> > >> > > > > > > > > > > > > > > > > > > > wrote:
> > >>> > >> > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > Dumb question: why
> hikari?
> > >>> it
> > >>> > has
> > >>> > >> > some
> > >>> > >> > > > > > issues like
> > >>> > >> > > > > > > > > not
> > >>> > >> > > > > > > > > > > > > > > respecting
> > >>> > >> > > > > > > > > > > > > > > > > its
> > >>> > >> > > > > > > > > > > > > > > > > > > conf
> > >>> > >> > > > > > > > > > > > > > > > > > > > > intentionally (max size
> in
> > >>> > >> > particular is
> > >>> > >> > > > the
> > >>> > >> > > > > > one
> > >>> > >> > > > > > > > > which
> > >>> > >> > > > > > > > > > > > > hurts
> > >>> > >> > > > > > > > > > > > > > > > since
> > >>> > >> > > > > > > > > > > > > > > > > you
> > >>> > >> > > > > > > > > > > > > > > > > > > > > overconsume for a moment
> > >>> your
> > >>> > >> > database
> > >>> > >> > > > > > connections
> > >>> > >> > > > > > > > > ==
> > >>> > >> > > > > > > > > > > > > prevent
> > >>> > >> > > > > > > > > > > > > > > > some
> > >>> > >> > > > > > > > > > > > > > > > > > > services
> > >>> > >> > > > > > > > > > > > > > > > > > > > > to connect when scaled
> and
> > >>> tuned
> > >>> > >> at
> > >>> > >> > max
> > >>> > >> > > > > > count),
> > >>> > >> > > > > > > > > there
> > >>> > >> > > > > > > > > > > is
> > >>> > >> > > > > > > > > > > > no
> > >>> > >> > > > > > > > > > > > > > > > silver
> > >>> > >> > > > > > > > > > > > > > > > > > > bullet
> > >>> > >> > > > > > > > > > > > > > > > > > > > > but something like dbcp2
> > >>> can be
> > >>> > >> neat
> > >>> > >> > to
> > >>> > >> > > > start
> > >>> > >> > > > > > > > > _there_
> > >>> > >> > > > > > > > > > > if
> > >>> > >> > > > > > > > > > > > > > agroal
> > >>> > >> > > > > > > > > > > > > > > > is
> > >>> > >> > > > > > > > > > > > > > > > > not
> > >>> > >> > > > > > > > > > > > > > > > > > > used
> > >>> > >> > > > > > > > > > > > > > > > > > > > > as a base no - that
> said I
> > >>> dont
> > >>> > >> see
> > >>> > >> > why
> > >>> > >> > > > > > switching
> > >>> > >> > > > > > > > > at
> > >>> > >> > > > > > > > > > > all,
> > >>> > >> > > > > > > > > > > > > > > agroal
> > >>> > >> > > > > > > > > > > > > > > > > can be
> > >>> > >> > > > > > > > > > > > > > > > > > > > > used without build time
> > >>> > >> integration
> > >>> > >> > and
> > >>> > >> > > > stay
> > >>> > >> > > > > > > > > consistent
> > >>> > >> > > > > > > > > > > > > with
> > >>> > >> > > > > > > > > > > > > > it
> > >>> > >> > > > > > > > > > > > > > > > if
> > >>> > >> > > > > > > > > > > > > > > > > a
> > >>> > >> > > > > > > > > > > > > > > > > > > day it
> > >>> > >> > > > > > > > > > > > > > > > > > > > > comes back?
> > >>> > >> > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > Romain Manni-Bucau
> > >>> > >> > > > > > > > > > > > > > > > > > > > > @rmannibucau <
> > >>> > >> > https://x.com/rmannibucau>
> > >>> > >> > > > |
> > >>> > >> > > > > > .NET
> > >>> > >> > > > > > > > > Blog
> > >>> > >> > > > > > > > > > > > > > > > > > > > > <
> > >>> > https://dotnetbirdie.github.io/>
> > >>> > >> |
> > >>> > >> > > > Blog <
> > >>> > >> > > > > > > > > > > > > > > > > > >
> > https://rmannibucau.github.io/>
> > >>> > >> > > > > > > > > > > > > > > > > > > > > | Old
> > >>> > >> > > > > > > > > > > > > > > > > > > > > Blog <
> > >>> > >> > http://rmannibucau.wordpress.com>
> > >>> > >> > > > |
> > >>> > >> > > > > > Github
> > >>> > >> > > > > > > > > > > > > > > > > > > > > <
> > >>> https://github.com/rmannibucau
> > >>> > >
> > >>> > >> |
> > >>> > >> > > > LinkedIn
> > >>> > >> > > > > > > > > > > > > > > > > > > > > <
> > >>> > >> > https://www.linkedin.com/in/rmannibucau>
> > >>> > >> > > > |
> > >>> > >> > > > > > Book
> > >>> > >> > > > > > > > > > > > > > > > > > > > > <
> > >>> > >> > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > >
> > >>> > >> > > > > > > > > > >
> > >>> > >> > > > > > > > >
> > >>> > >> > > > > >
> > >>> > >> > > >
> > >>> > >> >
> > >>> > >>
> > >>> >
> > >>>
> >
> https://www.packtpub.com/en-us/product/java-ee-8-high-performance-9781788473064
> > >>> > >> > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > Javaccino founder
> > (Java/.NET
> > >>> > >> service
> > >>> > >> > -
> > >>> > >> > > > > > contact via
> > >>> > >> > > > > > > > > > > > > linkedin)
> > >>> > >> > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > Le mer. 15 juil. 2026 à
> > >>> 19:13,
> > >>> > >> > Alexandre
> > >>> > >> > > > > > Dutra <
> > >>> > >> > > > > > > > > > > > > > > > [email protected]>
> > >>> > >> > > > > > > > > > > > > > > > > a
> > >>> > >> > > > > > > > > > > > > > > > > > > > > écrit :
> > >>> > >> > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > Hi all,
> > >>> > >> > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > If jdbc-url is set,
> > >>> Polaris
> > >>> > >> > creates
> > >>> > >> > > > and
> > >>> > >> > > > > > owns
> > >>> > >> > > > > > > > > the
> > >>> > >> > > > > > > > > > > > Hikari
> > >>> > >> > > > > > > > > > > > > > > > > > > datasource. If
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > it is not set, we keep
> > >>> using
> > >>> > the
> > >>> > >> > > > existing
> > >>> > >> > > > > > Quarkus
> > >>> > >> > > > > > > > > > > > > > datasource
> > >>> > >> > > > > > > > > > > > > > > > > path.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > I have strong
> > reservations
> > >>> > >> > regarding
> > >>> > >> > > > this
> > >>> > >> > > > > > design.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > Alternating between a
> > >>> Hikari
> > >>> > >> pool
> > >>> > >> > and
> > >>> > >> > > > an
> > >>> > >> > > > > > Agroal
> > >>> > >> > > > > > > > > pool
> > >>> > >> > > > > > > > > > > > > > > depending
> > >>> > >> > > > > > > > > > > > > > > > > on the
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > configuration
> introduces
> > >>> > >> > unnecessary
> > >>> > >> > > > > > complexity
> > >>> > >> > > > > > > > > and
> > >>> > >> > > > > > > > > > > > > > potential
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > confusion. A major
> > >>> drawback is
> > >>> > >> that
> > >>> > >> > > > bugs,
> > >>> > >> > > > > > > > > performance
> > >>> > >> > > > > > > > > > > > > > > > > > > characteristics,
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > and configuration
> issues
> > >>> will
> > >>> > >> vary
> > >>> > >> > > > across
> > >>> > >> > > > > > > > > deployments
> > >>> > >> > > > > > > > > > > > > > purely
> > >>> > >> > > > > > > > > > > > > > > > > based on
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > the underlying
> > connection
> > >>> pool
> > >>> > >> in
> > >>> > >> > use.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > If our goal is to
> > >>> transition
> > >>> > >> > entirely
> > >>> > >> > > > to a
> > >>> > >> > > > > > > > > > > > > "runtime-driven"
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > architecture, we
> should
> > >>> commit
> > >>> > >> to
> > >>> > >> > it
> > >>> > >> > > > > > completely
> > >>> > >> > > > > > > > > by
> > >>> > >> > > > > > > > > > > > fully
> > >>> > >> > > > > > > > > > > > > > > > > removing the
> > >>> > >> > > > > > > > > > > > > > > > > > > > > >
> > >>> io.quarkus:quarkus-datasource
> > >>> > >> > > > dependency
> > >>> > >> > > > > > and
> > >>> > >> > > > > > > > > > > switching
> > >>> > >> > > > > > > > > > > > to
> > >>> > >> > > > > > > > > > > > > > > > Hikari
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > unconditionally.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > Thanks,
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > Alex
> > >>> > >> > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > On Tue, Jul 7, 2026 at
> > >>> 7:10 PM
> > >>> > >> > Yufei
> > >>> > >> > > > Gu <
> > >>> > >> > > > > > > > > > > > > > > [email protected]>
> > >>> > >> > > > > > > > > > > > > > > > > > > wrote:
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > Hi Robert, JB,
> Dmitri,
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > Thanks, this
> feedback
> > >>> makes
> > >>> > >> > sense.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > There are really two
> > >>> > >> motivations
> > >>> > >> > > > here:
> > >>> > >> > > > > > runtime
> > >>> > >> > > > > > > > > > > > loading
> > >>> > >> > > > > > > > > > > > > of
> > >>> > >> > > > > > > > > > > > > > > > JDBC
> > >>> > >> > > > > > > > > > > > > > > > > > > drivers,
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > and
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > dynamic datasource
> > >>> creation.
> > >>> > >> The
> > >>> > >> > > > former
> > >>> > >> > > > > > is
> > >>> > >> > > > > > > > > useful
> > >>> > >> > > > > > > > > > > for
> > >>> > >> > > > > > > > > > > > > ASF
> > >>> > >> > > > > > > > > > > > > > > > > binaries
> > >>> > >> > > > > > > > > > > > > > > > > > > > > where
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > a
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > driver is supplied
> > after
> > >>> > >> Polaris
> > >>> > >> > is
> > >>> > >> > > > > > built. The
> > >>> > >> > > > > > > > > > > latter
> > >>> > >> > > > > > > > > > > > > is
> > >>> > >> > > > > > > > > > > > > > a
> > >>> > >> > > > > > > > > > > > > > > > > building
> > >>> > >> > > > > > > > > > > > > > > > > > > > > block
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > for future per realm
> > >>> > >> datasources.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > I'm OK that
> > >>> Quarkus/Agroal
> > >>> > >> > remains
> > >>> > >> > > > the
> > >>> > >> > > > > > default
> > >>> > >> > > > > > > > > for
> > >>> > >> > > > > > > > > > > > > > > supported
> > >>> > >> > > > > > > > > > > > > > > > > > > backends.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > That's already part
> of
> > >>> the
> > >>> > >> POC.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > The gap I'm trying
> to
> > >>> > address
> > >>> > >> is
> > >>> > >> > > > where
> > >>> > >> > > > > > those
> > >>> > >> > > > > > > > > > > > > assumptions
> > >>> > >> > > > > > > > > > > > > > no
> > >>> > >> > > > > > > > > > > > > > > > > longer
> > >>> > >> > > > > > > > > > > > > > > > > > > > > hold.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > Quarkus can select
> > from
> > >>> > >> > predefined
> > >>> > >> > > > > > > > > datasources, but
> > >>> > >> > > > > > > > > > > > > they
> > >>> > >> > > > > > > > > > > > > > > > still
> > >>> > >> > > > > > > > > > > > > > > > > > > need to
> > >>> > >> > > > > > > > > > > > > > > > > > > > > be
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > configured ahead of
> > >>> time. It
> > >>> > >> > doesn't
> > >>> > >> > > > > > currently
> > >>> > >> > > > > > > > > > > > provide
> > >>> > >> > > > > > > > > > > > > > > > Polaris
> > >>> > >> > > > > > > > > > > > > > > > > > > with a
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > clean
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > way to create new
> > >>> > datasources
> > >>> > >> > > > > > dynamically.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > So my intent is for
> > the
> > >>> > >> contract
> > >>> > >> > to
> > >>> > >> > > > be:
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > >    - Quarkus/Agroal
> > >>> remains
> > >>> > >> the
> > >>> > >> > > > default.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > >    - Polaris managed
> > >>> JDBC
> > >>> > is a
> > >>> > >> > JVM
> > >>> > >> > > > only
> > >>> > >> > > > > > escape
> > >>> > >> > > > > > > > > > > hatch
> > >>> > >> > > > > > > > > > > > > for
> > >>> > >> > > > > > > > > > > > > > > > > runtime
> > >>> > >> > > > > > > > > > > > > > > > > > > > > provided
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > >    drivers and
> > >>> dynamically
> > >>> > >> > created
> > >>> > >> > > > > > datasources.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > >    - Polaris owns
> the
> > >>> pool
> > >>> > and
> > >>> > >> > driver
> > >>> > >> > > > > > > > > lifecycle on
> > >>> > >> > > > > > > > > > > > that
> > >>> > >> > > > > > > > > > > > > > > path.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > >    - Per realm
> > >>> datasource
> > >>> > >> routing
> > >>> > >> > > > should
> > >>> > >> > > > > > be a
> > >>> > >> > > > > > > > > > > > separate
> > >>> > >> > > > > > > > > > > > > > > design
> > >>> > >> > > > > > > > > > > > > > > > > > > > > discussion.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > >    It's out of scope
> > for
> > >>> > this
> > >>> > >> > POC.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > JB, I agree we
> should
> > >>> > continue
> > >>> > >> > using
> > >>> > >> > > > > > Quarkus
> > >>> > >> > > > > > > > > JDBC
> > >>> > >> > > > > > > > > > > > > drivers
> > >>> > >> > > > > > > > > > > > > > > for
> > >>> > >> > > > > > > > > > > > > > > > > the
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > backends
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > we support directly.
> > >>> This
> > >>> > >> path is
> > >>> > >> > > > mainly
> > >>> > >> > > > > > for
> > >>> > >> > > > > > > > > the
> > >>> > >> > > > > > > > > > > > cases
> > >>> > >> > > > > > > > > > > > > > > > outside
> > >>> > >> > > > > > > > > > > > > > > > > that
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > model.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > Yufei
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > On Tue, Jul 7, 2026
> at
> > >>> > 8:03 AM
> > >>> > >> > > > > > Jean-Baptiste
> > >>> > >> > > > > > > > > > > Onofré <
> > >>> > >> > > > > > > > > > > > > > > > > > > [email protected]>
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > wrote:
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > Hi
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > Regarding JDBC
> > >>> drivers in
> > >>> > >> the
> > >>> > >> > > > Quarkus
> > >>> > >> > > > > > > > > ecosystem
> > >>> > >> > > > > > > > > > > (in
> > >>> > >> > > > > > > > > > > > > > > > > > > > > quarkus-extensions
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > or
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > quarkiverse), I
> > think
> > >>> we
> > >>> > can
> > >>> > >> > just
> > >>> > >> > > > > > leverage
> > >>> > >> > > > > > > > > the
> > >>> > >> > > > > > > > > > > > > quarkus
> > >>> > >> > > > > > > > > > > > > > > JDBC
> > >>> > >> > > > > > > > > > > > > > > > > > > drivers.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > Using another
> > loading
> > >>> > >> mechanism
> > >>> > >> > > > could
> > >>> > >> > > > > > be
> > >>> > >> > > > > > > > > > > > problematic
> > >>> > >> > > > > > > > > > > > > > for
> > >>> > >> > > > > > > > > > > > > > > > > future
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > features
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > (imagine with we
> > want
> > >>> to
> > >>> > try
> > >>> > >> > > > native app
> > >>> > >> > > > > > > > > buld).
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > What is the
> problem
> > >>> with
> > >>> > >> using
> > >>> > >> > the
> > >>> > >> > > > > > Quarkus
> > >>> > >> > > > > > > > > JDBC
> > >>> > >> > > > > > > > > > > > > > drivers?
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > I remember that we
> > >>> agreed
> > >>> > >> to be
> > >>> > >> > > > > > opinionated
> > >>> > >> > > > > > > > > about
> > >>> > >> > > > > > > > > > > > the
> > >>> > >> > > > > > > > > > > > > > > JDBC
> > >>> > >> > > > > > > > > > > > > > > > > > > backends
> > >>> > >> > > > > > > > > > > > > > > > > > > > > we
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > want
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > to support, so we
> > can
> > >>> be
> > >>> > >> > > > opinionated
> > >>> > >> > > > > > about
> > >>> > >> > > > > > > > > the
> > >>> > >> > > > > > > > > > > JDBC
> > >>> > >> > > > > > > > > > > > > > > drivers
> > >>> > >> > > > > > > > > > > > > > > > > :)
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > I'm not against
> it,
> > >>> but I
> > >>> > >> would
> > >>> > >> > > > like to
> > >>> > >> > > > > > > > > > > understand
> > >>> > >> > > > > > > > > > > > > > better
> > >>> > >> > > > > > > > > > > > > > > > the
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > rationale.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > Regards
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > JB
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > On Tue, Jul 7,
> 2026
> > at
> > >>> > >> 3:03 PM
> > >>> > >> > > > Robert
> > >>> > >> > > > > > Stupp <
> > >>> > >> > > > > > > > > > > > > > > > [email protected]>
> > >>> > >> > > > > > > > > > > > > > > > > > > wrote:
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > Thanks for
> pushing
> > >>> this
> > >>> > >> > forward.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > I agree that
> > >>> > >> runtime-provided
> > >>> > >> > > > JDBC
> > >>> > >> > > > > > drivers
> > >>> > >> > > > > > > > > are
> > >>> > >> > > > > > > > > > > a
> > >>> > >> > > > > > > > > > > > > real
> > >>> > >> > > > > > > > > > > > > > > > > problem
> > >>> > >> > > > > > > > > > > > > > > > > > > to
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > solve.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > For
> > ASF-distributed
> > >>> > >> binaries,
> > >>> > >> > > > there
> > >>> > >> > > > > > are
> > >>> > >> > > > > > > > > valid
> > >>> > >> > > > > > > > > > > > cases
> > >>> > >> > > > > > > > > > > > > > > where
> > >>> > >> > > > > > > > > > > > > > > > > > > Polaris
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > should
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > not bundle a
> > >>> driver, but
> > >>> > >> > > > operators
> > >>> > >> > > > > > still
> > >>> > >> > > > > > > > > need a
> > >>> > >> > > > > > > > > > > > way
> > >>> > >> > > > > > > > > > > > > > to
> > >>> > >> > > > > > > > > > > > > > > > > provide
> > >>> > >> > > > > > > > > > > > > > > > > > > one.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > My concern is
> that
> > >>> this
> > >>> > PR
> > >>> > >> > does
> > >>> > >> > > > more
> > >>> > >> > > > > > than
> > >>> > >> > > > > > > > > load
> > >>> > >> > > > > > > > > > > > > > runtime
> > >>> > >> > > > > > > > > > > > > > > > > driver
> > >>> > >> > > > > > > > > > > > > > > > > > > jars.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > It also
> > introduces a
> > >>> > >> second
> > >>> > >> > > > > > datasource
> > >>> > >> > > > > > > > > stack:
> > >>> > >> > > > > > > > > > > > > > > > > Quarkus/Agroal
> > >>> > >> > > > > > > > > > > > > > > > > > > via
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> `quarkus.datasource.*`
> > >>> > on
> > >>> > >> one
> > >>> > >> > > > side,
> > >>> > >> > > > > > and
> > >>> > >> > > > > > > > > > > > > Polaris-owned
> > >>> > >> > > > > > > > > > > > > > > > > Hikari
> > >>> > >> > > > > > > > > > > > > > > > > > > pools
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > via
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > `polaris.persistence.relational.jdbc.*` on
> > >>> > >> > > > > > > > > the
> > >>> > >> > > > > > > > > > > > > other.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > Those two paths
> > look
> > >>> > >> similar
> > >>> > >> > to
> > >>> > >> > > > > > operators,
> > >>> > >> > > > > > > > > but
> > >>> > >> > > > > > > > > > > > they
> > >>> > >> > > > > > > > > > > > > > do
> > >>> > >> > > > > > > > > > > > > > > > not
> > >>> > >> > > > > > > > > > > > > > > > > > > have the
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > same
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > contract.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > The Quarkus path
> > >>> brings
> > >>> > >> > > > > > Quarkus/Agroal
> > >>> > >> > > > > > > > > > > lifecycle,
> > >>> > >> > > > > > > > > > > > > > > health,
> > >>> > >> > > > > > > > > > > > > > > > > > > metrics,
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > credentials/secret-manager
> > >>> > >> > > > > > integrations,
> > >>> > >> > > > > > > > > and
> > >>> > >> > > > > > > > > > > the
> > >>> > >> > > > > > > > > > > > > > > broader
> > >>> > >> > > > > > > > > > > > > > > > > > > datasource
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > config
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > surface; those
> are
> > >>> all
> > >>> > >> > important
> > >>> > >> > > > for
> > >>> > >> > > > > > > > > operators.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > The
> > Polaris-managed
> > >>> path
> > >>> > >> > means
> > >>> > >> > > > > > Polaris owns
> > >>> > >> > > > > > > > > > > pool
> > >>> > >> > > > > > > > > > > > > > > > lifecycle,
> > >>> > >> > > > > > > > > > > > > > > > > > > driver
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > loading,
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > classloader
> > >>> behavior,
> > >>> > and
> > >>> > >> a
> > >>> > >> > > > separate
> > >>> > >> > > > > > > > > > > > config/support
> > >>> > >> > > > > > > > > > > > > > > > > surface.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > So I do not
> think
> > >>> this
> > >>> > is
> > >>> > >> > ready
> > >>> > >> > > > to
> > >>> > >> > > > > > move
> > >>> > >> > > > > > > > > forward
> > >>> > >> > > > > > > > > > > > as
> > >>> > >> > > > > > > > > > > > > > just
> > >>> > >> > > > > > > > > > > > > > > > > > > “another
> > >>> > >> > > > > > > > > > > > > > > > > > > > > JDBC
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > configuration
> > >>> option.”
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > Before I would
> > >>> consider
> > >>> > >> this
> > >>> > >> > > > > > mergeable, I
> > >>> > >> > > > > > > > > think
> > >>> > >> > > > > > > > > > > > we
> > >>> > >> > > > > > > > > > > > > > need
> > >>> > >> > > > > > > > > > > > > > > > > > > explicit
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > agreement
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > on the contract:
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > 1. Is
> > >>> Polaris-managed
> > >>> > JDBC
> > >>> > >> > only a
> > >>> > >> > > > > > narrow
> > >>> > >> > > > > > > > > escape
> > >>> > >> > > > > > > > > > > > > hatch
> > >>> > >> > > > > > > > > > > > > > > for
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > runtime-provided
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > driver jars, or
> a
> > >>> peer
> > >>> > >> > supported
> > >>> > >> > > > > > datasource
> > >>> > >> > > > > > > > > > > path?
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > 2. Which
> > >>> Quarkus/Agroal
> > >>> > >> > > > integrations
> > >>> > >> > > > > > are
> > >>> > >> > > > > > > > > > > > > > intentionally
> > >>> > >> > > > > > > > > > > > > > > > not
> > >>> > >> > > > > > > > > > > > > > > > > > > > > available
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > on
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > that path?
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > 3. What
> lifecycle
> > >>> does
> > >>> > >> > Polaris
> > >>> > >> > > > own
> > >>> > >> > > > > > for
> > >>> > >> > > > > > > > > pools,
> > >>> > >> > > > > > > > > > > > > loaded
> > >>> > >> > > > > > > > > > > > > > > > > drivers,
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > shutdown,
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > and
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > driver upgrades?
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > 4. Is this meant
> > to
> > >>> be
> > >>> > >> part
> > >>> > >> > of
> > >>> > >> > > > future
> > >>> > >> > > > > > > > > per-realm
> > >>> > >> > > > > > > > > > > > > > > > datasource
> > >>> > >> > > > > > > > > > > > > > > > > > > routing?
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > If
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > so,
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > I think that
> > needs a
> > >>> > >> separate
> > >>> > >> > > > design
> > >>> > >> > > > > > > > > > > discussion.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > Until that
> > contract
> > >>> is
> > >>> > >> > agreed, I
> > >>> > >> > > > do
> > >>> > >> > > > > > not
> > >>> > >> > > > > > > > > think
> > >>> > >> > > > > > > > > > > we
> > >>> > >> > > > > > > > > > > > > > should
> > >>> > >> > > > > > > > > > > > > > > > > present
> > >>> > >> > > > > > > > > > > > > > > > > > > > > this
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > as a
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > second supported
> > >>> JDBC
> > >>> > >> path or
> > >>> > >> > > > treat
> > >>> > >> > > > > > the PR
> > >>> > >> > > > > > > > > as
> > >>> > >> > > > > > > > > > > > > > mergeable
> > >>> > >> > > > > > > > > > > > > > > > > with
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > documentation
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > updates alone.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Jul 7,
> > 2026
> > >>> at
> > >>> > >> > 3:48 AM
> > >>> > >> > > > Dmitri
> > >>> > >> > > > > > > > > > > > Bourlatchkov
> > >>> > >> > > > > > > > > > > > > <
> > >>> > >> > > > > > > > > > > > > > > > > > > > > [email protected]
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > wrote:
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > Hi Yufei,
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > Thanks for the
> > >>> update.
> > >>> > >> That
> > >>> > >> > > > > > approach to
> > >>> > >> > > > > > > > > > > loading
> > >>> > >> > > > > > > > > > > > > the
> > >>> > >> > > > > > > > > > > > > > > > > driver
> > >>> > >> > > > > > > > > > > > > > > > > > > can
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > work, I
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > think.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > However, I'm
> not
> > >>> sure
> > >>> > >> > whether
> > >>> > >> > > > it is
> > >>> > >> > > > > > > > > > > preferable
> > >>> > >> > > > > > > > > > > > > to a
> > >>> > >> > > > > > > > > > > > > > > > > proper
> > >>> > >> > > > > > > > > > > > > > > > > > > > > Quarkus
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > downstream
> > build.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > Adding jars to
> > >>> Polaris
> > >>> > >> > still
> > >>> > >> > > > > > requires
> > >>> > >> > > > > > > > > some
> > >>> > >> > > > > > > > > > > form
> > >>> > >> > > > > > > > > > > > > of
> > >>> > >> > > > > > > > > > > > > > > > > downstream
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > build,
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > whether it is
> > >>> > tar-based
> > >>> > >> or
> > >>> > >> > > > > > docker-based.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > Performing a
> > full
> > >>> > >> Quarkus
> > >>> > >> > build
> > >>> > >> > > > > > > > > downstream
> > >>> > >> > > > > > > > > > > > offers
> > >>> > >> > > > > > > > > > > > > > > some
> > >>> > >> > > > > > > > > > > > > > > > > > > > > advantages,
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > though:
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > * Integration
> > >>> tests
> > >>> > can
> > >>> > >> be
> > >>> > >> > > > > > executed with
> > >>> > >> > > > > > > > > the
> > >>> > >> > > > > > > > > > > > > > specific
> > >>> > >> > > > > > > > > > > > > > > > > driver.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > * Dependencies
> > are
> > >>> > >> > resolved /
> > >>> > >> > > > > > validated
> > >>> > >> > > > > > > > > at
> > >>> > >> > > > > > > > > > > > build
> > >>> > >> > > > > > > > > > > > > > > time.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > * Quarkus
> > manages
> > >>> the
> > >>> > >> > > > DataSource
> > >>> > >> > > > > > > > > lifecycle.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > I wonder what
> > >>> other
> > >>> > >> people
> > >>> > >> > > > think
> > >>> > >> > > > > > too.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > Cheers,
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > Dmitri.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > On Mon, Jul 6,
> > >>> 2026 at
> > >>> > >> > 9:22 PM
> > >>> > >> > > > > > Yufei Gu <
> > >>> > >> > > > > > > > > > > > > > > > > > > [email protected]>
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > wrote:
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > Hi Dmitri,
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > Good catch.
> > The
> > >>> > >> initial
> > >>> > >> > POC
> > >>> > >> > > > only
> > >>> > >> > > > > > > > > proved the
> > >>> > >> > > > > > > > > > > > > > driver
> > >>> > >> > > > > > > > > > > > > > > > > works if
> > >>> > >> > > > > > > > > > > > > > > > > > > > > it’s
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > already
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > visible to
> the
> > >>> > runtime
> > >>> > >> > > > > > classloader.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > I updated
> the
> > >>> > approach
> > >>> > >> > so the
> > >>> > >> > > > > > > > > > > Polaris-managed
> > >>> > >> > > > > > > > > > > > > > JDBC
> > >>> > >> > > > > > > > > > > > > > > > > > > datasource
> > >>> > >> > > > > > > > > > > > > > > > > > > > > can
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > load
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > driver jars
> > >>> > explicitly
> > >>> > >> > before
> > >>> > >> > > > > > creating
> > >>> > >> > > > > > > > > > > > Hikari.
> > >>> > >> > > > > > > > > > > > > In
> > >>> > >> > > > > > > > > > > > > > > the
> > >>> > >> > > > > > > > > > > > > > > > > > > binary
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > distribution,
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > users can
> drop
> > >>> jars
> > >>> > >> into:
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> server/jdbc-drivers/
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > For
> admin-tool
> > >>> > >> > > > bootstrap/purge,
> > >>> > >> > > > > > the
> > >>> > >> > > > > > > > > same
> > >>> > >> > > > > > > > > > > > > applies
> > >>> > >> > > > > > > > > > > > > > > > under:
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> admin/jdbc-drivers/
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > They can
> also
> > >>> > override
> > >>> > >> > the
> > >>> > >> > > > > > location
> > >>> > >> > > > > > > > > with:
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > >
> > >>> > >> > > > > > > > > > >
> > >>> > >> > > > > > > > >
> > >>> > >> > > > > >
> > >>> > >> > > >
> > >>> > >> >
> > >>> > >>
> > >>> >
> > >>>
> >
> polaris.persistence.relational.jdbc.driver-directory=/path/to/jdbc-drivers
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > So this does
> > not
> > >>> > >> depend
> > >>> > >> > on
> > >>> > >> > > > > > adding jars
> > >>> > >> > > > > > > > > to
> > >>> > >> > > > > > > > > > > > > > lib/main
> > >>> > >> > > > > > > > > > > > > > > or
> > >>> > >> > > > > > > > > > > > > > > > > > > > > rebuilding
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > the
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > Quarkus
> > fast-jar
> > >>> > >> > metadata.
> > >>> > >> > > > The
> > >>> > >> > > > > > jar just
> > >>> > >> > > > > > > > > > > needs
> > >>> > >> > > > > > > > > > > > > to
> > >>> > >> > > > > > > > > > > > > > be
> > >>> > >> > > > > > > > > > > > > > > > > present
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > before
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > Polaris
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > creates the
> > >>> > >> datasource.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > Yufei
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > On Mon, Jul
> 6,
> > >>> 2026
> > >>> > at
> > >>> > >> > > > 3:25 PM
> > >>> > >> > > > > > Dmitri
> > >>> > >> > > > > > > > > > > > > > Bourlatchkov
> > >>> > >> > > > > > > > > > > > > > > <
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > [email protected]
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > wrote:
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi Yufei,
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > Could you
> > >>> provide
> > >>> > >> some
> > >>> > >> > more
> > >>> > >> > > > > > details
> > >>> > >> > > > > > > > > about
> > >>> > >> > > > > > > > > > > > how
> > >>> > >> > > > > > > > > > > > > > > > > exactly a
> > >>> > >> > > > > > > > > > > > > > > > > > > 3rd
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > party
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > JDBC
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > driver is
> > >>> > >> incorporated
> > >>> > >> > into
> > >>> > >> > > > > > Polaris?
> > >>> > >> > > > > > > > > I
> > >>> > >> > > > > > > > > > > > might
> > >>> > >> > > > > > > > > > > > > > have
> > >>> > >> > > > > > > > > > > > > > > > > missed
> > >>> > >> > > > > > > > > > > > > > > > > > > that
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > in
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > the
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > PR,
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > but it was
> > not
> > >>> > >> > apparent to
> > >>> > >> > > > me
> > >>> > >> > > > > > at
> > >>> > >> > > > > > > > > first
> > >>> > >> > > > > > > > > > > > > reading.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > Thanks,
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > Dmitri.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > On Mon,
> Jul
> > 6,
> > >>> > 2026
> > >>> > >> at
> > >>> > >> > > > 6:22 PM
> > >>> > >> > > > > > Yufei
> > >>> > >> > > > > > > > > Gu <
> > >>> > >> > > > > > > > > > > > > > > > > > > > > [email protected]>
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > wrote:
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi all,
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > I put
> > >>> together a
> > >>> > >> > small
> > >>> > >> > > > POC(
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > https://github.com/apache/polaris/pull/4984
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > )
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > for
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > the
> > >>> relational
> > >>> > >> JDBC
> > >>> > >> > > > backend
> > >>> > >> > > > > > so
> > >>> > >> > > > > > > > > Polaris
> > >>> > >> > > > > > > > > > > > can
> > >>> > >> > > > > > > > > > > > > > > create
> > >>> > >> > > > > > > > > > > > > > > > > its
> > >>> > >> > > > > > > > > > > > > > > > > > > own
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > JDBC
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > datasource
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > from
> > config,
> > >>> > >> instead
> > >>> > >> > of
> > >>> > >> > > > > > always
> > >>> > >> > > > > > > > > relying
> > >>> > >> > > > > > > > > > > on
> > >>> > >> > > > > > > > > > > > > the
> > >>> > >> > > > > > > > > > > > > > > > > Quarkus
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > datasource.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > The
> config
> > >>> looks
> > >>> > >> like
> > >>> > >> > > > this:
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > >
> > >>> > >> > > > > > > > >
> > >>> > >> > > >
> > >>> polaris.persistence.relational.jdbc.jdbc-url=jdbc:postgresql://...
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > >
> > >>> > >> >
> polaris.persistence.relational.jdbc.driver=org.postgresql.Driver
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > >
> > >>> > >> polaris.persistence.relational.jdbc.username=...
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > >
> > >>> > >> polaris.persistence.relational.jdbc.password=...
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > If
> > jdbc-url
> > >>> is
> > >>> > >> set,
> > >>> > >> > > > Polaris
> > >>> > >> > > > > > > > > creates and
> > >>> > >> > > > > > > > > > > > > owns
> > >>> > >> > > > > > > > > > > > > > > the
> > >>> > >> > > > > > > > > > > > > > > > > Hikari
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > datasource.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > If
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > it
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > is not
> > set,
> > >>> we
> > >>> > >> keep
> > >>> > >> > > > using the
> > >>> > >> > > > > > > > > existing
> > >>> > >> > > > > > > > > > > > > > Quarkus
> > >>> > >> > > > > > > > > > > > > > > > > > > datasource
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > path.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > I also
> > added
> > >>> > tests
> > >>> > >> > > > showing
> > >>> > >> > > > > > that:
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > >    - We
> > can
> > >>> > create
> > >>> > >> > > > > > datasources
> > >>> > >> > > > > > > > > > > > dynamically
> > >>> > >> > > > > > > > > > > > > > from
> > >>> > >> > > > > > > > > > > > > > > > > config
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > >    -
> > >>> Different
> > >>> > >> > > > > > configurations can
> > >>> > >> > > > > > > > > > > create
> > >>> > >> > > > > > > > > > > > > > > > > independent
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > datasources,
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > which
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > >    could
> > >>> help
> > >>> > >> future
> > >>> > >> > > > > > per-realm
> > >>> > >> > > > > > > > > > > datasource
> > >>> > >> > > > > > > > > > > > > > > support
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > >    - A
> > JDBC
> > >>> > driver
> > >>> > >> > can be
> > >>> > >> > > > > > supplied
> > >>> > >> > > > > > > > > at
> > >>> > >> > > > > > > > > > > > > runtime
> > >>> > >> > > > > > > > > > > > > > > > from
> > >>> > >> > > > > > > > > > > > > > > > > a
> > >>> > >> > > > > > > > > > > > > > > > > > > jar
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > instead
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > of
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > being
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > >    on
> the
> > >>> > >> build-time
> > >>> > >> > > > > > classpath.
> > >>> > >> > > > > > > > > This is
> > >>> > >> > > > > > > > > > > > > very
> > >>> > >> > > > > > > > > > > > > > > > > helpful
> > >>> > >> > > > > > > > > > > > > > > > > > > for
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > proprietary
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > and
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> Apache
> > >>> > >> > > > > > license-incompatible
> > >>> > >> > > > > > > > > drivers,
> > >>> > >> > > > > > > > > > > > > like
> > >>> > >> > > > > > > > > > > > > > > > MySQL.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > This POC
> > >>> does
> > >>> > not
> > >>> > >> yet
> > >>> > >> > > > > > implement
> > >>> > >> > > > > > > > > full
> > >>> > >> > > > > > > > > > > > > > per-realm
> > >>> > >> > > > > > > > > > > > > > > > > > > datasource
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > routing.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > It
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > only
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> demonstrates the
> > >>> > >> > > > lower-level
> > >>> > >> > > > > > > > > building
> > >>> > >> > > > > > > > > > > > > blocks:
> > >>> > >> > > > > > > > > > > > > > > > > Polaris
> > >>> > >> > > > > > > > > > > > > > > > > > > can
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > create
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > managed
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > JDBC
> pools
> > >>> from
> > >>> > >> > config,
> > >>> > >> > > > > > multiple
> > >>> > >> > > > > > > > > pools
> > >>> > >> > > > > > > > > > > > can
> > >>> > >> > > > > > > > > > > > > be
> > >>> > >> > > > > > > > > > > > > > > > > created
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > independently,
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > and
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > the JDBC
> > >>> driver
> > >>> > >> can
> > >>> > >> > be
> > >>> > >> > > > > > supplied at
> > >>> > >> > > > > > > > > > > > runtime.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > Feedback
> > is
> > >>> > >> welcome
> > >>> > >> > > > before I
> > >>> > >> > > > > > turn
> > >>> > >> > > > > > > > > this
> > >>> > >> > > > > > > > > > > > > into a
> > >>> > >> > > > > > > > > > > > > > > > > formal
> > >>> > >> > > > > > > > > > > > > > > > > > > PR.
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thanks,
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > Yufei
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > > >
> > >>> > >> > > > > > > > > > > >
> > >>> > >> > > > > > > > > > >
> > >>> > >> > > > > > > > >
> > >>> > >> > > > > > > > >
> > >>> > >> > > > > >
> > >>> > >> > > > > >
> > >>> > >> > > >
> > >>> > >> >
> > >>> > >>
> > >>> > >
> > >>> >
> > >>>
> > >>
> >
>

Reply via email to