Hi

Is it that stupid to proceed this way (this is what I did for keycloak):

* for java mode we don't care, it works by design
* for native mode you need to rebuild by design or bundle the world (guess
nobody will want to bundle redshift for ex ;))
* (where it becomes interesting) for the image you can mount the driver as
an OCI image (from scratch\nCOPY ./driver.jar
/opt/whateverclasspath/driver.jar), will work OOTB for java mode and you
can easily have an entry point in native mode "if -f /opt/work/built then;
build command; fi" before the main/actual runtime entry point

can be a compromise at the cost of accepting to rebuild at runtime for
native mode if you dont do a custom image, not perfect but solves the java
mode at least (not sure there is a clean solution for native mode and this
mode has the issue it is not very well scanned anyway in enterprises).

hope it makes sense

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. 29 juin 2026 à 19:04, Alexandre Dutra <[email protected]> a écrit :

> Hi Russell,
>
> Your assessment of the situation is spot on.
>
> To clarify my earlier comments regarding MySQL, I intended to convey
> that my progress on [4812] would not interfere with the MySQL
> initiative [3960]. However, you are absolutely correct that a custom
> build remains necessary, as licensing constraints prevent us from
> including MySQL or MariaDB drivers in our distribution.
>
> You are also right that [4812] essentially packages PostgreSQL and H2
> into the official image.That was in my mind a prerequisite for
> removing the TreeMap metastore – and the main reason why I opened
> [4812] in the first place.
>
> I believed there was some consensus on the PostgreSQL + H2 approach,
> but now it seems there are new concerns surfacing:
>
> 1. Bundling multiple drivers when only one is used is redundant.
> 2. Including extra drivers increases CVE exposure.
>
> Both points are legitimate. Every potential solution carries its own
> set of trade-offs, and with [4812], the trade-off is accepting
> additional drivers in the distribution.
>
> If the community no longer favors the PostgreSQL + H2 path, then we
> can set [4812] aside, and I have no problems with that. But we'll need
> to come up with some other replacement for the TreeMap metastore.
>
> Thanks,
> Alex
>
> On Sat, Jun 27, 2026 at 12:22 AM Russell Spitzer
> <[email protected]> wrote:
> >
> > I'm a little confused about where we're landing with [4812].
> >
> > The thread opened with the goal of letting users switch database
> providers
> > at runtime
> > without rebuilding Polaris (e.g. PostgreSQL → MySQL). But as far as I can
> > tell,
> > we can't ship MySQL Connector/J in an official Apache release anyway
> (it's
> > GPLv2 Category X).
> > The same applies to MariaDB's driver (LGPL). So for MySQL users, we're
> > still back to:
> > build your own distribution with the driver included. Runtime datasource
> > selection doesn't change that.
> >
> > What [4812] actually delivers for official releases, as I understand it,
> is
> > a single binary that can
> > select between H2 and PostgreSQL at deploy time. Alex clarified on this
> > thread that it doesn't
> > change the persistence design and that separate pools for metrics/events
> is
> > future work (#3960).
> >
> > That H2/Postgres split seems useful for dev/demo (docker run without
> > Postgres), and
> > I can see the release-engineering benefit of one artifact. But I'm not
> sure
> > it helps operators
> > who need a different JDBC backend: they still have to rebuild (or run a
> > custom image) to get a driver we can't ship.
> >
> > The "pick your driver at runtime without rebuilding" story also seems odd
> > if the intended
> > workflow is "declare every driver you might ever use at build time, then
> > activate one at runtime."
> > That's pre-committing to drivers you may never use.
> >
> > On that point: we've raised concerns on other PRs about shipping code
> users
> > won't run at runtime
> > because of CVE exposure. Romain noted on this thread that H2 has recently
> > had CVEs. If
> > we're Postgres-only in prod, are we comfortable bundling H2 in the server
> > image for everyone?
> >
> > So I'm trying to reconcile:
> >
> > The stated goal (switch providers without rebuild) vs. what ASF licensing
> > actually allows us to ship
> > Whether the H2+Postgres convenience is worth the config breaking change
> and
> > extra driver in the image
> > Whether we should frame this as infrastructure for future multi-pool work
> > (#3890) rather than "multiple datasources" for users
> >
> > Happy to be corrected if I'm missing something but from where I sit,
> [4812]
> > looks
> > like a useful Quarkus refactor and dev-mode enabler, not a solution for
> > multi-JDBC-driver deployments.
> >
> > On Thu, Jun 25, 2026 at 3:50 PM Dmitri Bourlatchkov <[email protected]>
> > wrote:
> >
> > > Hi All,
> > >
> > > The way I see it is that Alex's PR [4812] is an incremental
> improvement at
> > > the technical level in our Quarkus server.
> > >
> > > It does not impose or require any redesign right now. Yet, it enables
> more
> > > options for future consideration.
> > >
> > > I think it is worth merging "as is" for now. Then we can resume the
> > > discussions about realm and database association.
> > >
> > > [4812] https://github.com/apache/polaris/pull/4812
> > >
> > > Cheers,
> > > Dmitri.
> > >
> > > On Thu, Jun 25, 2026 at 12:01 PM Alexandre Dutra <[email protected]>
> > > wrote:
> > >
> > > > Hi Yufei,
> > > >
> > > >
> > > > > if Polaris managed the connection pools itself using HikariCP [...]
> > > > would that also solve both the "no rebuild" requirement?
> > > >
> > > > Yes, that would work.
> > > >
> > > > However, we need to consider some significant tradeoffs:
> > > >
> > > > - Manual lifecycle management becomes necessary (handling shutdown
> > > > hooks, pool eviction during catalog drops, etc.).
> > > >
> > > > - Native image support is lost. While Polaris official images don't
> > > > use them yet, this would block that path for future development.
> Also,
> > > > integrators may be building Polaris in native mode today.
> > > >
> > > > - Loss of @DataSource CDI injection.
> > > >
> > > > - Loss of integrated health checks and metrics.
> > > >
> > > > - Loss of Dev Services (though this is less critical as we don't
> > > > currently use them).
> > > >
> > > > > Am I missing something? If not, this seems worth prototyping.
> > > >
> > > > To me, sacrificing the above benefits just to allow runtime selection
> > > > of a single (!) datasource feels overkill. My PR [4812] achieves the
> > > > same objective without these drawbacks. What makes the HikariCP
> > > > approach preferable in your view?
> > > >
> > > > If the goal is to revisit the datasource-per-realm discussion, we
> > > > should prioritize a design document over a POC. Such a change would
> > > > fundamentally reshape Polaris internals. We still haven't settled on
> > > > the core architecture: should it be database-per-realm, per-catalog,
> > > > per-store-type (as seen in [3960]), or a combination of these?
> > > >
> > > > Thanks,
> > > > Alex
> > > >
> > > > On Thu, Jun 25, 2026 at 2:30 AM Yufei Gu <[email protected]>
> wrote:
> > > > >
> > > > > Thanks for the clear explanation, Alex. I think the use cases for
> > > > avoiding
> > > > > rebuilds make sense.
> > > > >
> > > > > One question: if Polaris managed the connection pools itself using
> > > > HikariCP
> > > > > (or Agroal/DBCP directly), instead of relying on Quarkus'
> datasource
> > > > > extension, would that also solve both the "no rebuild" requirement
> and
> > > > the
> > > > > dynamic datasource problem?
> > > > >
> > > > > My understanding is that, in JVM mode, users could simply provide
> the
> > > > > appropriate JDBC driver JAR on the classpath or Polaris can ship
> them
> > > if
> > > > > possible and configure the driver class and JDBC URL at runtime,
> > > without
> > > > > rebuilding Polaris. If that's correct, this seems to address the
> > > primary
> > > > > goal while also avoiding Quarkus' build time datasource limitation.
> > > > >
> > > > > For example, switching databases would simply become:
> > > > > polaris.persistence.jdbc.driver=com.mysql.cj.jdbc.Driver
> > > > > polaris.persistence.jdbc.url=jdbc:mysql://...
> > > > >
> > > > > HikariCP can load the driver at runtime, as long as the MySQL
> driver
> > > JAR
> > > > is
> > > > > available on the classpath.
> > > > >
> > > > > Am I missing something? If not, this seems worth prototyping. I'd
> be
> > > > happy
> > > > > to help build a small POC to validate the approach.
> > > > >
> > > > > Yufei
> > > > >
> > > > >
> > > > > On Wed, Jun 24, 2026 at 6:50 AM Alexandre Dutra <[email protected]
> >
> > > > wrote:
> > > > >
> > > > > > Hi Yufei,
> > > > > >
> > > > > > The primary goal is straightforward: we want to eliminate the
> need
> > > for
> > > > > > users to rebuild Polaris simply to switch their database provider
> > > > > > (e.g., moving from PostgreSQL to MySQL).
> > > > > >
> > > > > > Let's take the MySQL PR [4281] as an example: as it is designed
> > > today,
> > > > > > users are forced to rebuild Polaris using the includeMysqlDriver
> > > build
> > > > > > property. This constraint prevents them from using official
> Polaris
> > > > > > images and forces the maintenance of custom images.
> > > > > >
> > > > > > With the proposed changes in [4812], users would instead simply
> use
> > > > > > the official image and apply a runtime configuration:
> > > > > > polaris.persistence.relational.jdbc.datasource=mysql. This
> > > effectively
> > > > > > removes the burden of custom builds and image management.
> > > > > >
> > > > > > To clarify, [4812] does not change ANYTHING in the current
> datasource
> > > > > > design. It's still one single datasource for all data.
> > > > > >
> > > > > > I briefly mentioned multi-datasource to demonstrate that my
> changes
> > > > > > wouldn't block [3960] if we decide to pursue it later. As a
> reminder,
> > > > > > [3960] was introducing the ability to use a separate datasource
> for
> > > > > > metrics and events.
> > > > > >
> > > > > > If you'd like to revisit the datasource-per-store-type design
> from
> > > > > > [3960], or revive the datasource-per-realm design [1], I'm happy
> to
> > > > > > discuss those further. But [4812] is really only about runtime
> > > > > > selection of fixed datasources.
> > > > > >
> > > > > > Thanks,
> > > > > > Alex
> > > > > >
> > > > > > [3960]: https://github.com/apache/polaris/pull/3960
> > > > > > [4281]: https://github.com/apache/polaris/pull/4281
> > > > > > [4812]: https://github.com/apache/polaris/pull/4812
> > > > > >
> > > > > > [1]:
> > > https://lists.apache.org/thread/kvt3gd29hyxlhnwxr9b674s555jlvjjs
> > > > > >
> > > > > > On Wed, Jun 24, 2026 at 3:24 AM Yufei Gu <[email protected]>
> > > wrote:
> > > > > > >
> > > > > > > Hi Alex,
> > > > > > >
> > > > > > > I'm still trying to understand the intended use cases behind PR
> > > 4812.
> > > > > > >
> > > > > > > The examples discussed so far focus on runtime selection
> between
> > > H2,
> > > > > > > PostgreSQL, MySQL, etc. In those cases, it seems the
> requirement is
> > > > to
> > > > > > > choose one datasource implementation at runtime, while the
> actual
> > > > > > > datasource definitions remain known at build time.
> > > > > > >
> > > > > > > The use case I'm more familiar with is multi realm support,
> here is
> > > > an
> > > > > > > example[1]. In that model, each realm could potentially have
> its
> > > own
> > > > > > > database configuration, which implies dynamic datasource
> creation
> > > and
> > > > > > > lifecycle management at runtime. The number of datasources is
> not
> > > > known
> > > > > > > ahead of time and can change as realms are added or removed. If
> > > > Polaris
> > > > > > > needs to support that model in the future, The Quarkus
> datasource
> > > > > > extension
> > > > > > > may not be the right abstraction, since it is fundamentally
> > > centered
> > > > > > around
> > > > > > > datasources defined at build time. PR 4812 works around this
> > > > limitation
> > > > > > by
> > > > > > > predeclaring datasource definitions and activating them
> > > selectively,
> > > > but
> > > > > > > that approach does not seem to generalize well to truly dynamic
> > > > > > datasource
> > > > > > > provisioning.
> > > > > > >
> > > > > > > For dynamic realm backed datasources, the cleaner design may
> be a
> > > > Polaris
> > > > > > > managed pool registry using DBCP, HikariCP, or Agroal directly,
> > > > rather
> > > > > > than
> > > > > > > relying on Quarkus datasource configuration. That would allow
> > > > datasource
> > > > > > > pools to be created, updated, and removed dynamically as
> realms are
> > > > > > managed.
> > > > > > >
> > > > > > > Could you elaborate a bit more on the concrete use cases you
> have
> > > in
> > > > mind
> > > > > > > for PR 4812? I'm trying to understand whether the primary goal
> is
> > > > runtime
> > > > > > > selection among a fixed set of datasources, or whether it is
> > > > intended as
> > > > > > a
> > > > > > > stepping stone toward more dynamic datasource management.
> > > > > > >
> > > > > > > 1. https://github.com/apache/polaris/discussions/4761
> > > > > > >
> > > > > > > Thanks,
> > > > > > > Yufei
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > On Fri, Jun 19, 2026 at 12:47 PM Romain Manni-Bucau <
> > > > > > [email protected]>
> > > > > > > wrote:
> > > > > > >
> > > > > > > > Guess it depends if you do use native-image or not, didn't
> check
> > > in
> > > > > > latest
> > > > > > > > version except the github sources of some datasource but the
> > > trick
> > > > was
> > > > > > > > working well in java mode (guess the recommended mode for
> > > polaris)
> > > > so
> > > > > > I'm
> > > > > > > > not sure why it wouldn't work - and in native mode the
> entrypoint
> > > > is
> > > > > > not
> > > > > > > > even a java command so not a real concern, isnt it?
> > > > > > > >
> > > > > > > >
> > > > > > > > From what I do see in h2, db2 etc modules there is nothing
> crazy
> > > > > > requiring
> > > > > > > > build time wiring (for java mode once again) so I think it
> will
> > > > work.
> > > > > > > > Worse case you can easily do a quarkus-jdbc-generic since at
> the
> > > > end
> > > > > > it is
> > > > > > > > mainly hints for native-image and a few auto loading (driver
> for
> > > > ex)
> > > > > > but
> > > > > > > > using any pool programmatically - as polaris does handle the
> > > > datasource
> > > > > > > > programmatically for ex - will does it.
> > > > > > > >
> > > > > > > > So overall think it works but happy to look if it doesn't
> work.
> > > > > > > >
> > > > > > > > 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. 19 juin 2026 à 18:51, Alexandre Dutra <
> [email protected]
> > > >
> > > > a
> > > > > > écrit
> > > > > > > > :
> > > > > > > >
> > > > > > > > > Hi Romain,
> > > > > > > > >
> > > > > > > > > I don't think your trick would work with Quarkus, would
> it? As
> > > > the
> > > > > > > > > driver has to be present at build time.
> > > > > > > > >
> > > > > > > > > Also, I think we want to achieve an "it just works" kind of
> > > user
> > > > > > > > > experience. That's the main reason for including h2 as we
> want
> > > a
> > > > > > > > > simple "docker run apache/polaris" to "just work".
> > > > > > > > >
> > > > > > > > > Thanks,
> > > > > > > > > Alex
> > > > > > > > >
> > > > > > > > > On Fri, Jun 19, 2026 at 6:46 PM Romain Manni-Bucau
> > > > > > > > > <[email protected]> wrote:
> > > > > > > > > >
> > > > > > > > > > Why providing h2 in the image? I know a common trick I
> do use
> > > > is
> > > > > > to set
> > > > > > > > > the
> > > > > > > > > > classpath in my entry point to something like
> > > > > > > > > >
> "myjar1.jar:myjar2.jar:.....:/opt/app/extensions/custom/*" -
> > > > with
> > > > > > jib I
> > > > > > > > > > do
> > > > <extraClasspath>/opt/app/extensions/custom/*</extraClasspath>.
> > > > > > > > > > This enables to mount the JDBC driver in this custom
> folder
> > > and
> > > > > > get it
> > > > > > > > > > working OOTB, with helm it is just a matter of mounting
> > > either
> > > > an
> > > > > > OCI
> > > > > > > > > image
> > > > > > > > > > with just the driver in this folder or using an init
> > > container
> > > > to
> > > > > > copy
> > > > > > > > it
> > > > > > > > > > using an empty dir/ephemeral volume as pivot folder.
> > > > > > > > > > The good thing about that is:  no default driver
> required but
> > > > open
> > > > > > to
> > > > > > > > any
> > > > > > > > > > so no related CVE (h2 got several by the past which
> would be
> > > a
> > > > > > negative
> > > > > > > > > > aspect for prod when using pg for ex).
> > > > > > > > > >
> > > > > > > > > > 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. 19 juin 2026 à 17:18, Dmitri Bourlatchkov <
> > > > > > [email protected]> a
> > > > > > > > > > écrit :
> > > > > > > > > >
> > > > > > > > > > > Hi All,
> > > > > > > > > > >
> > > > > > > > > > > Focusing on the technical capabilities of PR [4812], I
> > > think
> > > > it
> > > > > > > > > provides a
> > > > > > > > > > > valuable enhancement and we should merge it.
> > > > > > > > > > >
> > > > > > > > > > > I do not see any adverse effects of this PR on existing
> > > > > > > > functionality,
> > > > > > > > > but
> > > > > > > > > > > it certainly opens new use cases like H2 inside
> pre-built
> > > > docker
> > > > > > > > > images and
> > > > > > > > > > > MySQL (potentially).
> > > > > > > > > > >
> > > > > > > > > > > [4812] https://github.com/apache/polaris/pull/4812
> > > > > > > > > > >
> > > > > > > > > > > Cheers,
> > > > > > > > > > > Dmitri.
> > > > > > > > > > >
> > > > > > > > > > > On Fri, Jun 19, 2026 at 4:59 AM Alexandre Dutra <
> > > > > > [email protected]>
> > > > > > > > > wrote:
> > > > > > > > > > >
> > > > > > > > > > > > Hi all,
> > > > > > > > > > > >
> > > > > > > > > > > > Although the conversation has shifted toward
> > > > multi-datasource
> > > > > > > > > support,
> > > > > > > > > > > > the primary focus in this thread remains [4812]: the
> > > > ability to
> > > > > > > > > > > > activate a datasource at runtime, even in
> single-source
> > > > > > scenarios.
> > > > > > > > > > > >
> > > > > > > > > > > > I want to emphasize that this functionality is
> essential
> > > > > > > > > independently
> > > > > > > > > > > > of the multi-datasource debate. For example, it is
> > > > required to
> > > > > > > > > provide
> > > > > > > > > > > > out-of-the-box support for JDBC + H2 within Polaris
> > > > images, and
> > > > > > > > also
> > > > > > > > > > > > to provide support for more databases (e.g. MySQL).
> > > > > > > > > > > >
> > > > > > > > > > > > Thanks,
> > > > > > > > > > > > Alex
> > > > > > > > > > > >
> > > > > > > > > > > > [4812]: https://github.com/apache/polaris/pull/4812
> > > > > > > > > > > >
> > > > > > > > > > > > On Thu, Jun 18, 2026 at 9:28 PM Dmitri Bourlatchkov <
> > > > > > > > > [email protected]>
> > > > > > > > > > > > wrote:
> > > > > > > > > > > > >
> > > > > > > > > > > > > Hi Romain,
> > > > > > > > > > > > >
> > > > > > > > > > > > > Thanks for the info!
> > > > > > > > > > > > >
> > > > > > > > > > > > > Metrics requests generally read from the MetaStore
> but
> > > > write
> > > > > > only
> > > > > > > > > in
> > > > > > > > > > > the
> > > > > > > > > > > > > Metrics datasource.
> > > > > > > > > > > > >
> > > > > > > > > > > > > The latest thinking about Events is to isolate them
> > > from
> > > > the
> > > > > > > > > initial
> > > > > > > > > > > > > request via the Quarkus Event Bus (async delivery),
> > > IIRC.
> > > > > > > > > > > > >
> > > > > > > > > > > > > The new Idempotency feature [3] might be the first
> case
> > > > > > where we
> > > > > > > > > > > (could)
> > > > > > > > > > > > do
> > > > > > > > > > > > > writes into multiple datasources. However, the way
> it
> > > is
> > > > > > designed
> > > > > > > > > does
> > > > > > > > > > > > not
> > > > > > > > > > > > > assume or require coordination of changes / commits
> > > > between
> > > > > > the
> > > > > > > > > > > MetaStore
> > > > > > > > > > > > > and the Idempotency data store, AFAIK.
> > > > > > > > > > > > >
> > > > > > > > > > > > > In general, this is a very interesting topic. It
> has
> > > > > > implications
> > > > > > > > > for
> > > > > > > > > > > our
> > > > > > > > > > > > > (MetaStore) Persistence interface contracts too.
> IIRC,
> > > > > > previous
> > > > > > > > [1]
> > > > > > > > > > > > > discussions generally settled on the idea that each
> > > > > > Persistence
> > > > > > > > API
> > > > > > > > > > > call
> > > > > > > > > > > > > forms one atomic (and durable) change. Yet, I do
> not
> > > > think we
> > > > > > > > have
> > > > > > > > > > > > > completely ironed out all wrinkles [2] there. The
> > > tricky
> > > > > > aspect
> > > > > > > > is
> > > > > > > > > that
> > > > > > > > > > > > > Persistence may be backed by a non-transactional
> > > > database.
> > > > > > > > > Currently we
> > > > > > > > > > > > > have JDBC and MongoDB, which could be said to be
> > > > > > transactional,
> > > > > > > > > still
> > > > > > > > > > > the
> > > > > > > > > > > > > NoSQL Persistence in Polaris is built without
> assuming
> > > Tx
> > > > > > > > > capabilities,
> > > > > > > > > > > > so
> > > > > > > > > > > > > it will also work on non-transactional databases.
> > > > > > > > > > > > >
> > > > > > > > > > > > > This is just for context :)
> > > > > > > > > > > > >
> > > > > > > > > > > > > [1]
> > > > > > > > >
> > > https://lists.apache.org/thread/fh6t3mgzdb5ft0dt5q7qxm1pj1x5po75
> > > > > > > > > > > > >
> > > > > > > > > > > > > [2]
> > > > > > > > >
> > > https://lists.apache.org/thread/rf5orxs815zs4h64p4rwp03q3pbgxb5r
> > > > > > > > > > > > >
> > > > > > > > > > > > > [3]
> > > > > > > > >
> > > https://lists.apache.org/thread/ksf5b5y3jt8dmft5kgblbwms8dhs4fn9
> > > > > > > > > > > > >
> > > > > > > > > > > > > Cheers,
> > > > > > > > > > > > > Dmitri.
> > > > > > > > > > > > >
> > > > > > > > > > > > > On Thu, Jun 18, 2026 at 3:03 PM Romain Manni-Bucau
> <
> > > > > > > > > > > > [email protected]>
> > > > > > > > > > > > > wrote:
> > > > > > > > > > > > >
> > > > > > > > > > > > > > Hi Dmitri,
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Assuming you put metadata and metrics/events
> (maybe
> > > > > > metrics but
> > > > > > > > > these
> > > > > > > > > > > > ones
> > > > > > > > > > > > > > where not under my radar) in different databases
> to
> > > > > > leverage
> > > > > > > > > > > different
> > > > > > > > > > > > > > tuning and aggregation level but still have
> exactly
> > > > once
> > > > > > > > > guarantee.
> > > > > > > > > > > > > > I assume at some point there are or will be some
> > > > writes in
> > > > > > the
> > > > > > > > > same
> > > > > > > > > > > > request
> > > > > > > > > > > > > > (stat updates, meta refresh/audit etc).
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > While a single request/background task is
> guaranteed
> > > > to be
> > > > > > > > single
> > > > > > > > > > > > > > datasource backed there is no real topic if it is
> > > what
> > > > you
> > > > > > have
> > > > > > > > > in
> > > > > > > > > > > > mind.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > 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. 18 juin 2026 à 19:58, Dmitri
> Bourlatchkov <
> > > > > > > > > [email protected]>
> > > > > > > > > > > a
> > > > > > > > > > > > > > écrit :
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > > Hi Romain,
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > In what cases / API calls do you envision XA
> to be
> > > > used
> > > > > > in
> > > > > > > > > Polaris?
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > I'm asking just for my education, as I do not
> see
> > > > how /
> > > > > > where
> > > > > > > > > it
> > > > > > > > > > > > could be
> > > > > > > > > > > > > > > relevant ATM.
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > Thanks,
> > > > > > > > > > > > > > > Dmitri.
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > On Thu, Jun 18, 2026 at 1:11 PM Romain
> Manni-Bucau
> > > <
> > > > > > > > > > > > > > [email protected]>
> > > > > > > > > > > > > > > wrote:
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > Ok, good it was already thought.
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > Think worse case an user can set the 3 same
> or
> > > > enable
> > > > > > XA
> > > > > > > > > using
> > > > > > > > > > > > agroal
> > > > > > > > > > > > > > > > capabilities ([1])
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > Thanks
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > [1]
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > >
> > > >
> > >
> https://quarkus.io/guides/datasource#quarkus-agroal_quarkus-datasource-jdbc-transactions
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > 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. 18 juin 2026 à 18:17, Alexandre
> Dutra <
> > > > > > > > > [email protected]
> > > > > > > > > > > >
> > > > > > > > > > > > a
> > > > > > > > > > > > > > > écrit
> > > > > > > > > > > > > > > > :
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > Hi Romain,
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > You raise good points.
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > Datasource multitenancy in Quarkus would
> have
> > > > helped
> > > > > > a
> > > > > > > > lot
> > > > > > > > > > > during
> > > > > > > > > > > > > > this
> > > > > > > > > > > > > > > > > old discussion: [1] where we eventually
> decided
> > > > to go
> > > > > > > > with
> > > > > > > > > one
> > > > > > > > > > > > > > > > > datasource for N realms, out of better
> choices
> > > by
> > > > > > then.
> > > > > > > > But
> > > > > > > > > > > that
> > > > > > > > > > > > ship
> > > > > > > > > > > > > > > > > has sailed.
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > And good question about XA:  the proposal
> in
> > > > [3960]
> > > > > > does
> > > > > > > > > not
> > > > > > > > > > > > include
> > > > > > > > > > > > > > > > > any transactional coordination between
> > > > datasources,
> > > > > > > > > afaict, and
> > > > > > > > > > > > the
> > > > > > > > > > > > > > > > > outbox pattern doesn't fit anymore in the
> > > design
> > > > we
> > > > > > > > picked
> > > > > > > > > for
> > > > > > > > > > > > events
> > > > > > > > > > > > > > > > > (and probably for metrics). This pattern
> was
> > > > > > considered
> > > > > > > > > > > initially
> > > > > > > > > > > > > > > > > iirc, as it would have allowed exactly-once
> > > > > > semantics for
> > > > > > > > > > > > events; but
> > > > > > > > > > > > > > > > > in the end, we went with separate tables
> > > updated
> > > > > > > > > independently
> > > > > > > > > > > > (~=
> > > > > > > > > > > > > > > > > at-most-once semantics).
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > Thanks,
> > > > > > > > > > > > > > > > > Alex
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > [1]:
> > > > > > > > > > > > > >
> > > > > > > >
> https://lists.apache.org/thread/kvt3gd29hyxlhnwxr9b674s555jlvjjs
> > > > > > > > > > > > > > > > > [3960]:
> > > > https://github.com/apache/polaris/pull/3960
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > On Thu, Jun 18, 2026 at 8:38 AM Romain
> > > > Manni-Bucau
> > > > > > > > > > > > > > > > > <[email protected]> wrote:
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > Hi Alexandre,
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > Can be worth shiming in the quarkus
> thread
> > > > about
> > > > > > it:
> > > > > > > > > > > > > > > > > >
> > > > https://github.com/quarkusio/quarkus/issues/11861
> > > > > > > > before
> > > > > > > > > > > > merging a
> > > > > > > > > > > > > > > new
> > > > > > > > > > > > > > > > > way
> > > > > > > > > > > > > > > > > > to do it (even if it delays from a few
> weeks
> > > > the
> > > > > > > > > feature) I
> > > > > > > > > > > > think.
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > Technically one thing the 1 database -> N
> > > > databases
> > > > > > > > (not
> > > > > > > > > > > > speaking
> > > > > > > > > > > > > > > about
> > > > > > > > > > > > > > > > > > tenants where there is no challenge but
> > > > > > > > > meta+metrics+events)
> > > > > > > > > > > > brings
> > > > > > > > > > > > > > > the
> > > > > > > > > > > > > > > > > > transactional challenge, do you go XA
> with
> > > this
> > > > > > shift
> > > > > > > > or
> > > > > > > > > do
> > > > > > > > > > > you
> > > > > > > > > > > > > > plan
> > > > > > > > > > > > > > > > some
> > > > > > > > > > > > > > > > > > recovery (kind of outbox pattern with
> some
> > > > > > challenges)?
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > 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. 17 juin 2026 à 21:37, Alexandre
> > > Dutra <
> > > > > > > > > > > > [email protected]>
> > > > > > > > > > > > > > a
> > > > > > > > > > > > > > > > > écrit :
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > Hi all,
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > I'd like to elaborate on the "pluggable
> > > > > > persistence"
> > > > > > > > > > > concept
> > > > > > > > > > > > > > > defined
> > > > > > > > > > > > > > > > > > > my previous message, and how it might
> > > evolve
> > > > in
> > > > > > the
> > > > > > > > > future:
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > The proposal from PR [3960] originally
> > > > suggested
> > > > > > > > three
> > > > > > > > > > > > distinct
> > > > > > > > > > > > > > > > "store
> > > > > > > > > > > > > > > > > > > types": metastore, metrics, and events.
> > > > Although
> > > > > > that
> > > > > > > > > PR
> > > > > > > > > > > was
> > > > > > > > > > > > > > closed
> > > > > > > > > > > > > > > > > > > because of inactivity, the concept
> remains
> > > > > > relevant.
> > > > > > > > > If we
> > > > > > > > > > > > decide
> > > > > > > > > > > > > > > to
> > > > > > > > > > > > > > > > > > > support multiple datasources for each
> store
> > > > > > type, I
> > > > > > > > > > > envision
> > > > > > > > > > > > the
> > > > > > > > > > > > > > > > > > > following approach:
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > Polaris would provide datasource
> > > definitions
> > > > for
> > > > > > > > every
> > > > > > > > > > > > > > combination
> > > > > > > > > > > > > > > of
> > > > > > > > > > > > > > > > > > > store type and JDBC driver (such as
> > > > > > > > > "postgresql-metastore"
> > > > > > > > > > > or
> > > > > > > > > > > > > > > > > > > "h2-metrics"). The current "enabler
> > > property"
> > > > > > would
> > > > > > > > be
> > > > > > > > > > > > replaced
> > > > > > > > > > > > > > by
> > > > > > > > > > > > > > > a
> > > > > > > > > > > > > > > > > > > map of properties keyed by the store
> type.
> > > > For
> > > > > > > > > instance:
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > >
> > > >
> > >
> polaris.persistence.relational.jdbc.metastore.datasource=postgresql-metastore
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > >
> > > > > >
> > > >
> polaris.persistence.relational.jdbc.metrics.datasource=postgresql-metrics
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > >
> > > > > >
> > > polaris.persistence.relational.jdbc.events.datasource=postgresql-events
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > In this configuration, three separate
> > > > PostgreSQL
> > > > > > > > > > > datasources
> > > > > > > > > > > > > > would
> > > > > > > > > > > > > > > be
> > > > > > > > > > > > > > > > > > > enabled, each managing its own
> connection
> > > > pool
> > > > > > and
> > > > > > > > > > > settings.
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > Alternatively, if a user wants to use a
> > > > single
> > > > > > > > > datasource
> > > > > > > > > > > > for all
> > > > > > > > > > > > > > > > > > > data, they could simply map every store
> > > type
> > > > to
> > > > > > the
> > > > > > > > > same
> > > > > > > > > > > name
> > > > > > > > > > > > > > > (e.g.,
> > > > > > > > > > > > > > > > > > > "postgresql-metastore"). This would
> result
> > > in
> > > > > > only
> > > > > > > > one
> > > > > > > > > > > active
> > > > > > > > > > > > > > > > > > > datasource and a single connection
> pool for
> > > > the
> > > > > > > > > metastore,
> > > > > > > > > > > > > > metrics,
> > > > > > > > > > > > > > > > > > > and events.
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > It is still open for debate whether the
> > > > default
> > > > > > setup
> > > > > > > > > > > should
> > > > > > > > > > > > > > > > > > > prioritize a single shared datasource
> or
> > > > separate
> > > > > > > > ones
> > > > > > > > > for
> > > > > > > > > > > > each
> > > > > > > > > > > > > > > store
> > > > > > > > > > > > > > > > > > > type.
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > While this is primarily speculative at
> this
> > > > > > point,
> > > > > > > > > since
> > > > > > > > > > > the
> > > > > > > > > > > > > > > feature
> > > > > > > > > > > > > > > > > > > hasn't been finalized, it demonstrates
> that
> > > > we
> > > > > > have a
> > > > > > > > > > > viable
> > > > > > > > > > > > path
> > > > > > > > > > > > > > > > > > > forward should we choose to implement
> this
> > > > > > > > > architecture.
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > Thanks,
> > > > > > > > > > > > > > > > > > > Alex
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > [3960]:
> > > > > > https://github.com/apache/polaris/pull/3960
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > On Wed, Jun 17, 2026 at 9:26 PM
> Alexandre
> > > > Dutra <
> > > > > > > > > > > > > > [email protected]
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > wrote:
> > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > Hi all,
> > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > I have recently submitted a PR [4812]
> > > that
> > > > > > > > introduces
> > > > > > > > > > > > support
> > > > > > > > > > > > > > for
> > > > > > > > > > > > > > > > > > > > multiple datasources with
> possibility of
> > > > > > runtime
> > > > > > > > > > > > activation.
> > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > I would like to open a discussion
> > > > regarding the
> > > > > > > > > intent
> > > > > > > > > > > > behind
> > > > > > > > > > > > > > > this
> > > > > > > > > > > > > > > > > > > > proposal and the advantages it
> offers.
> > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > While Quarkus is a powerful
> platform, it
> > > > > > presents
> > > > > > > > > certain
> > > > > > > > > > > > > > > > challenges,
> > > > > > > > > > > > > > > > > > > > particularly with JDBC datasources.
> > > > Currently,
> > > > > > the
> > > > > > > > > > > > datasource
> > > > > > > > > > > > > > > type
> > > > > > > > > > > > > > > > > > > > must be defined at build time using
> the
> > > > > > "db-kind"
> > > > > > > > > > > property.
> > > > > > > > > > > > > > This
> > > > > > > > > > > > > > > > > makes
> > > > > > > > > > > > > > > > > > > > managing multiple datasources
> difficult,
> > > > > > especially
> > > > > > > > > for
> > > > > > > > > > > > > > Polaris,
> > > > > > > > > > > > > > > > > where
> > > > > > > > > > > > > > > > > > > > users should ideally be able to
> select
> > > the
> > > > > > > > > appropriate
> > > > > > > > > > > > > > datasource
> > > > > > > > > > > > > > > > > (and
> > > > > > > > > > > > > > > > > > > > driver) based on their specific
> > > > requirements.
> > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > The core of this proposal relies on
> a key
> > > > fact:
> > > > > > > > while
> > > > > > > > > > > > "db-kind"
> > > > > > > > > > > > > > > is
> > > > > > > > > > > > > > > > > > > > fixed at build time, the "active"
> > > property
> > > > can
> > > > > > be
> > > > > > > > > toggled
> > > > > > > > > > > > at
> > > > > > > > > > > > > > > > runtime.
> > > > > > > > > > > > > > > > > > > > Combined with named datasources, this
> > > > property
> > > > > > > > > becomes
> > > > > > > > > > > the
> > > > > > > > > > > > > > > missing
> > > > > > > > > > > > > > > > > > > > lever to achieve runtime datasource
> > > > activation.
> > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > Under this change, Polaris must
> include
> > > > > > predefined
> > > > > > > > > named
> > > > > > > > > > > > > > > > datasources
> > > > > > > > > > > > > > > > > > > > for every supported driver. Users
> simply
> > > > choose
> > > > > > > > which
> > > > > > > > > > > ones
> > > > > > > > > > > > to
> > > > > > > > > > > > > > > > > activate
> > > > > > > > > > > > > > > > > > > > at runtime using an enabler property:
> > > > > > > > > > > > > > > > > > > >
> > > > > > "polaris.persistence.relational.jdbc.datasource",
> > > > > > > > > which
> > > > > > > > > > > > > > > identifies
> > > > > > > > > > > > > > > > > the
> > > > > > > > > > > > > > > > > > > > named datasource for activation.
> (Worth
> > > > > > noting: an
> > > > > > > > > > > inactive
> > > > > > > > > > > > > > > > > datasource
> > > > > > > > > > > > > > > > > > > > does not consume any resources at
> > > runtime.)
> > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > As a result, the server will now
> include
> > > > the H2
> > > > > > > > > driver by
> > > > > > > > > > > > > > > default,
> > > > > > > > > > > > > > > > as
> > > > > > > > > > > > > > > > > > > > it is a prerequisite for selecting
> an H2
> > > > > > datasource
> > > > > > > > > at
> > > > > > > > > > > > runtime.
> > > > > > > > > > > > > > > We
> > > > > > > > > > > > > > > > > > > > will need to follow a similar
> approach
> > > for
> > > > any
> > > > > > > > other
> > > > > > > > > JDBC
> > > > > > > > > > > > > > drivers
> > > > > > > > > > > > > > > > we
> > > > > > > > > > > > > > > > > > > > intend to support in the future.
> > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > This architectural shift is
> necessary for
> > > > > > several
> > > > > > > > > > > reasons:
> > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > 1. Flexible defaults: It allows us
> to use
> > > > JDBC
> > > > > > + H2
> > > > > > > > > as
> > > > > > > > > > > the
> > > > > > > > > > > > > > > default
> > > > > > > > > > > > > > > > > for
> > > > > > > > > > > > > > > > > > > > server images (see these related
> > > > discussions
> > > > > > for
> > > > > > > > > details:
> > > > > > > > > > > > [1]
> > > > > > > > > > > > > > > [2])
> > > > > > > > > > > > > > > > > > > > while enabling users to switch to
> > > > PostgreSQL or
> > > > > > > > other
> > > > > > > > > > > > drivers
> > > > > > > > > > > > > > > *via
> > > > > > > > > > > > > > > > > > > > configuration alone*, thus
> eliminating
> > > the
> > > > > > need to
> > > > > > > > > > > rebuild
> > > > > > > > > > > > > > > Polaris
> > > > > > > > > > > > > > > > > > > > entirely.
> > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > 2. Pluggable persistence: It enables
> the
> > > > > > > > persistence
> > > > > > > > > > > layer
> > > > > > > > > > > > to
> > > > > > > > > > > > > > > > connect
> > > > > > > > > > > > > > > > > > > > to multiple datasources
> simultaneously.
> > > For
> > > > > > > > > instance, one
> > > > > > > > > > > > could
> > > > > > > > > > > > > > > > use a
> > > > > > > > > > > > > > > > > > > > specific datasource for main
> persistence
> > > > and
> > > > > > > > another
> > > > > > > > > for
> > > > > > > > > > > > > > metrics
> > > > > > > > > > > > > > > –
> > > > > > > > > > > > > > > > a
> > > > > > > > > > > > > > > > > > > > concept previously discussed in
> [3960]
> > > that
> > > > > > lacked
> > > > > > > > an
> > > > > > > > > > > easy
> > > > > > > > > > > > > > > > > > > > implementation path in my opinion.
> > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > I look forward to hearing your
> thoughts
> > > on
> > > > this
> > > > > > > > > proposal.
> > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > Thanks,
> > > > > > > > > > > > > > > > > > > > Alex
> > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > [4812]:
> > > > > > > > https://github.com/apache/polaris/pull/4812
> > > > > > > > > > > > > > > > > > > > [3960]:
> > > > > > > > https://github.com/apache/polaris/pull/3960
> > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > [1]:
> > > > > > > > > > > > > > > > >
> > > > > > > > > > >
> > > > https://lists.apache.org/thread/yw8l026g2smdk7gdg7k61tdcvdwcncqw
> > > > > > > > > > > > > > > > > > > > [2]:
> > > > > > > > > > > > > > > > >
> > > > > > > > > > >
> > > > https://lists.apache.org/thread/nzoljc1ohnsq4f5o28dh4opqkqw3p09h
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > >
> > > >
> > >
>

Reply via email to