+1, and if a new model is needed it can be pushed to quarkiverse anyway IMHO
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 à 15:34, Robert Stupp <[email protected]> a écrit : > 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 > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > > >>> > >> > > > > > > > > > > > > >>> > >> > > > > > > > > > > >>> > >> > > > > > > > > > > >>> > >> > > > > > > > >>> > >> > > > > > > > >>> > >> > > > > > >>> > >> > > > >>> > >> > > >>> > > > > >>> > > > >>> > > >> > > >
