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