Hi all,
no issues on my side.
Best regards,
Andrea
On 02/08/24 14:47, Francesco Chicchiriccò wrote:
Hi all,
now that MariaDB has received its JSON flavor [1], I would like to
discuss the possibility to simplify the 4.0 codebase by removing
support for non-JSON JPA flavors.
Historically, JPA support was provided since the beginning under
core/persistence-jpa.
At a certain point, some way to leverage the possibility to manipulate
JSON strings for user, group and any object attributes was introduced
for PostgreSQL first, then MySQL, Oracle and finally MariaDB. The
purpose: higher throughput and lower search operation roundtrips.
Such "flavors" were implemented under core/persistence-jpa-json.
It's been quite some time, however, that all new deployments have been
starting directly with one of JSON flavors rather than with their
non-JSON, original, counterparts.
Hence, I am proposing to keep, for 4.0, only such JSON flavors.
Removing the non-JSON flavors will result in simplified code, easier
to maintain.
One side issue of such a proposal is that Syncope 4.0 will not be able
to run on H2 any more. H2 is currently used for several unit tests,
integration test profiles, standalone and even in the embedded profile
for archetype.
To solve this, I've been experimenting with embedded PostgreSQL [2], a
nice AL-2.0 project which provides support to run a PostgreSQL
instance, without Docker, on all major platforms including GNU /
Linux, Mac OS and Windows.
I must say it works quite well: I was able to remove H2 from
everywhere relevant (hence, I've left it there for fir/build-tools): I
think I should be ready to open a PR against master shortly.
Incidentally, such work allowed me to discover an issue [3] that I've
already fixed for Syncope 3.0.
Do you see any relevant reason to keep non-JSON JPA flavors in Syncope
4.0, or any relevant issue in removing H2?
Regards.
[1] https://issues.apache.org/jira/browse/SYNCOPE-1662
[2] https://github.com/zonkyio/embedded-postgres
[3] https://issues.apache.org/jira/browse/SYNCOPE-1825
--
Andrea Patricelli
Tirasa - Open Source Excellence
http://www.tirasa.net/
Member at The Apache Software Foundation
Syncope