After the refactor, there is a top level directory named "persistence",
which holds two implementations -- EclipseLink and JDBC. I think it makes
sense to hold more persistence impl. in the future in parallel with them
like the following example shows. WDYT?


I agree with that proposal.

However, at to this specific dir structure under /persistence:

persistence/
├── eclipselink/
├── relational-jdbc/
├── mongodb/
└── .../


... I do not think it is flexible enough. I'm sure there's going to be a
need to share code across different implementations.

I'm in favour of JB's proposal, where we have "api", "common" and
potentially other modules under persistence.

As for `persistence/mongodb` - this name LGTM. However, I'm pretty sure the
end-to-end NoSQL persistence impl. for Mongo will require more modules
directly under `/persistence`.

Side note on `relational-jdbc`: I do not think current JDBC Persistence is
"relational" - it does not actualize entity relationships at the database
level. I believe "transactional" is a more relevant term (since it does
rely on updating multiple rows in the same JDBC Tx). I do not insist on
renaming this module, but if other people agree, this renaming might be
worth doing.

Cheers,
Dmitri.

On Sat, May 31, 2025 at 7:34 PM Yufei Gu <flyrain...@gmail.com> wrote:

> Dmitri, thanks for the feedback.
>
> The PR focus on removing the layer of directories("extensions"). It is
> unnecessary and confusing. I'm glad we got a consensus here.
>
> After the refactor, there is a top level directory named "persistence",
> which holds two implementations -- EclipseLink and JDBC. I think it makes
> sense to hold more persistence impl. in the future in parallel with them
> like the following example shows. WDYT?
>
> persistence/
> ├── eclipselink/
> ├── relational-jdbc/
> ├── mongodb/
> └── .../
>
> Yufei
>
>
> On Fri, May 30, 2025 at 5:16 PM Dmitri Bourlatchkov <di...@apache.org>
> wrote:
>
> > Hi Yufei,
> >
> > Thanks for opening a dev list discussion for this.
> >
> > Re: PR #1724 - moving "persistence" from the "extensions" sub-dir to the
> > project root level, LGTM.
> >
> > However, my comment in GH about dev list discussions was more general.
> > Since we start moving things around in one sub-tree, I'd like to clarify
> > what target repository layout is envisioned across all modules.
> >
> > Do you have any similar moves in mind or is this change limited only to
> the
> > "extensions" directory?
> >
> > I suppose now may be a good time to have that discussion.
> > Specifically having in mind the proposed NoSQL persistence (which is not
> > merged yet).
> >
> > Thanks,
> > Dmitri.
> >
> > On Thu, May 29, 2025 at 5:00 PM Yufei Gu <flyrain...@gmail.com> wrote:
> >
> > > Hi everyone,
> > >
> > > I’d like to draw attention to PR #1724 (
> > > https://github.com/apache/polaris/pull/1724) which reorganises our
> > > persistence modules:
> > >
> > >    -
> > >
> > >    Moves *EclipseLink* and *JDBC* from extension/persistence/impl/* to
> a
> > >    top-level persistence/* directory.
> > >    -
> > >
> > >    Aligns most Java packages from
> > >    org.apache.polaris.extension.persistence.impl.* →
> > >    org.apache.polaris.persistence.impl.*.
> > >    -
> > >
> > >       *Note:* EclipseLink keeps its original package to avoid breaking
> > >       external integrations and because we plan to deprecate/remove
> > > the module in
> > >       a future release.
> > >       -
> > >
> > >    *No behavioural changes* – the PR is strictly a mechanical
> > move/rename.
> > >
> > > *Why?*
> > > This cleans up the repo structure ahead of 1.0, making it clearer where
> > > first-class vs. extension modules live, and reduces depth in package
> > names.
> > >
> > > I’d like to get agreement on this new layout before we merge. Please
> > reply
> > > with any concerns or +1s. If there are no objections within 72 hours,
> > we’ll
> > > proceed.
> > >
> > > Thanks,
> > > Yufei
> > >
> >
>

Reply via email to