Hi Dmitri,

Thanks for following up.

On the Java side, I believe Michael already highlighted the implications
around the existing code paths. The community also has an ongoing
discussion about SPI and Java interface stability in Polaris. One thing I
want to emphasize is that, at least in the core module, we generally lean
toward treating all public classes and methods as part of the public
interface. Even if they aren’t formally annotated as API, they are used as
extension points by downstream systems, and removing them can introduce
subtle breakages.

Yufei


On Thu, Dec 4, 2025 at 11:34 AM Dmitri Bourlatchkov <[email protected]>
wrote:

> Hi Yufei,
>
> As I previously mentioned, your statement about avoiding downstream
> projects dictating OSS choices resonates with me.
>
> I created PR [3200] as a practical illustration of some of these concerns
> in the java code.
>
> I wonder what your and other people's thoughts on this might be.
>
> [3200] https://github.com/apache/polaris/pull/3200
>
> Thanks,
> Dmitri.
>
>
>
> On Tue, Dec 2, 2025 at 8:24 PM Yufei Gu <[email protected]> wrote:
>
> > I don’t think the Java code is ever a concern. Contributors will more
> > likely be comfortable following the upstream conventions, even if their
> > private downstream setup differs.
> >
> > Yufei
> >
> > On Tue, Dec 2, 2025 at 4:31 PM Dmitri Bourlatchkov <[email protected]>
> > wrote:
> >
> > > Thanks for your thoughts, Yufei!
> > >
> > > What you wrote resonates with me.
> > >
> > > I'd like to clarify, though, whether your points apply only to
> > > configuration or to java code as well. WDYT?
> > >
> > > Thanks,
> > > Dmitri.
> > >
> > > On Tue, Dec 2, 2025 at 4:06 PM Yufei Gu <[email protected]> wrote:
> > >
> > > > Thanks Dmitri for the detailed context. I want to offer a different
> > > > perspective.
> > > >
> > > > While I understand the desire to avoid churn for a private downstream
> > > > deployment, I’m concerned that merging the PR as-is purely to
> > > accommodate a
> > > > non-OSS downstream project sets a precedent that is risky for
> Polaris.
> > If
> > > > we adopt this pattern, any private downstream project could
> effectively
> > > > promote its internal configuration choices into upstream simply by
> > > > upstreaming code without aligning to Polaris conventions first.
> > > >
> > > > For the long-term health of the project, I think we need to maintain
> > > > consistency and avoid creating special cases that diverge from
> > > established
> > > > user-faced conventions(e.g., config naming patterns here). The
> upstream
> > > > should remain the place where common conventions are defined, not the
> > > place
> > > > where downstream decisions dictate upstream behavior.
> > > >
> > > > To avoid blocking this PR while still maintaining our standards, one
> > > > possible approach is:
> > > > 1. Align the config names now to the Polaris conventions, as
> reviewers
> > > > requested.
> > > > 2. Let the downstream project map or override its own existing config
> > > names
> > > > suggested by Eric.
> > > >
> > > > This keeps Polaris consistent, avoids setting an undesirable
> precedent,
> > > and
> > > > still gives the downstream project a clear migration path without
> > > requiring
> > > > OSS to inherit private naming decisions.
> > > >
> > > > Just my two cents. Happy to discuss further.
> > > >
> > > > Yufei
> > > >
> > > >
> > > > On Thu, Nov 27, 2025 at 5:12 PM Eric Maynard <
> [email protected]
> > >
> > > > wrote:
> > > >
> > > > > I see. By extending the configuration store, I believe that project
> > > > should
> > > > > be able to quite easily map between its own configs and the ones
> that
> > > > > eventually get merged in Polaris. Or to add its own configs.
> > > > >
> > > > > On Thu, Nov 27, 2025 at 5:04 PM Dmitri Bourlatchkov <
> > [email protected]>
> > > > > wrote:
> > > > >
> > > > > > Hi Eric,
> > > > > >
> > > > > > This situation here is that some code moves from a private
> > downstream
> > > > > > project to Polaris. Some of the related config names are already
> in
> > > use
> > > > > > downstream.
> > > > > >
> > > > > > Cheers,
> > > > > > Dmitri.
> > > > > >
> > > > > > On Thu, Nov 27, 2025 at 7:35 PM Eric Maynard <
> > > [email protected]
> > > > >
> > > > > > wrote:
> > > > > >
> > > > > > > I read through the PR, but I’m a little confused what the
> > > dependency
> > > > in
> > > > > > > question is here. Surely, the project should be mindful not to
> > > break
> > > > > > > downstream dependencies of Polaris. But it sounds like the
> > > contention
> > > > > > here
> > > > > > > is around a dependency on unmerged code?
> > > > > > >
> > > > > > > If this is the case, that deployment is not depending on
> Polaris.
> > > In
> > > > my
> > > > > > > view if it depends on particular configs not present in OSS
> > > Polaris,
> > > > > > > it would be best served by taking advantage of some of the
> > > mechanisms
> > > > > > > available for adding custom configs on top of the ones in OSS
> > > > Polaris.
> > > > > > >
> > > > > > > —EM
> > > > > > >
> > > > > > > On Thu, Nov 27, 2025 at 10:53 AM Dmitri Bourlatchkov <
> > > > [email protected]
> > > > > >
> > > > > > > wrote:
> > > > > > >
> > > > > > > > Hi All,
> > > > > > > >
> > > > > > > > This discussion stems from PR [3135], where having particular
> > > > config
> > > > > > > names
> > > > > > > > was flagged as a concern [1].
> > > > > > > >
> > > > > > > > While I agree that aligning configuration names across all
> > > Polaris
> > > > > code
> > > > > > > > modules is a worthy goal, in this particular case it is
> > > complicated
> > > > > by
> > > > > > > > downstream dependencies that already exist on those config
> > names.
> > > > > > > >
> > > > > > > > The NoSQL code contributed in this PR is already in use in
> > > private
> > > > > > > > environments. At the same time it is being contributed to
> > Polaris
> > > > in
> > > > > > the
> > > > > > > > hole that it would be beneficial to a wide community.
> > > > > > > >
> > > > > > > > Making the requested config changes up front would complicate
> > > > > > > > re-integration of the contributed code from Polaris `main`
> into
> > > > > > existing
> > > > > > > > downstream projects.
> > > > > > > >
> > > > > > > > Therefore, I ask the community to allow the existing config
> > names
> > > > to
> > > > > be
> > > > > > > > merged.
> > > > > > > >
> > > > > > > > If there are strong concerns about the existing config
> names, I
> > > > > propose
> > > > > > > to
> > > > > > > > open GH issues for them and address later when backward
> > > > compatibility
> > > > > > can
> > > > > > > > be handled in OSS code for all use cases. This can probably
> be
> > > done
> > > > > > after
> > > > > > > > some reasonable delay to allow us to first re-integrate the
> > code
> > > > from
> > > > > > > > `main` downstream.
> > > > > > > >
> > > > > > > > Note that addressing config renames with backward
> compatibility
> > > > > > directly
> > > > > > > in
> > > > > > > > [3135] would complicate the code and make reviewing it
> harder.
> > > The
> > > > > > > current
> > > > > > > > PR reflects the code that has already been put to practice.
> > > > > > > >
> > > > > > > > We have an existing situation where a downstream project's
> > > > > requirements
> > > > > > > for
> > > > > > > > keeping `polaris-code` java compatibility at version 11 are
> > > > respected
> > > > > > [2]
> > > > > > > > despite having no reasons for holding that module's java
> > version
> > > > back
> > > > > > > from
> > > > > > > > the perspective of binary Polaris Server distributions.
> > > > > > > >
> > > > > > > > In general, I believe it is important for the success of the
> > > > project
> > > > > to
> > > > > > > > take downstream builds into consideration as well as users of
> > the
> > > > > > binary
> > > > > > > > distribution.
> > > > > > > >
> > > > > > > > Please share your thoughts on this matter.
> > > > > > > >
> > > > > > > > [1]
> > > > > https://github.com/apache/polaris/pull/3135#discussion_r2558515915
> > > > > > > >
> > > > > > > > [2]
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> https://github.com/apache/polaris/discussions/100#discussioncomment-10267097
> > > > > > > >
> > > > > > > > [3135] https://github.com/apache/polaris/pull/3135
> > > > > > > >
> > > > > > > > Thanks,
> > > > > > > > Dmitri.
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Reply via email to