Skip to content

Releases: Informatievlaanderen/VSDS-LDESServer4J

v3.5.0

08 Nov 10:34
ab992b5
Compare
Choose a tag to compare

What's Changed

🔧 Configurable Delimiter on State Object ingestion

As previously available in the LDI Version Object creator, It is now possible to configure a custom version delimiter when ingesting state objects. For more details, check out the documentation.

📑 Maintenance Jobs, Compaction + Retention + Deletion combined

As a cleanup effort and to provide more transparency, the compaction, retention and deletion jobs have been merged into a maintenance job. The biggest user impact is the simplified config through the maintenance cron found in the config table.

📚 Modular restructure

Although this has no user impact, the module structure of the server got a revamp.
Allowing for custom images with unique functionalities and a smaller image size.
For more details, check out the project Readme

Change notes:

Full Changelog: v3.4.0...v3.5.0

v3.4.0

24 Sep 13:27
f089f74
Compare
Choose a tag to compare

What's Changed

📊 Fragmentation Optimalisation

Under the hood, the fragmentation processes (bucketisation + pagination) went through a big structural change to optimise database interactions.
Additionally, database views and tables have been optimised in function of this.

🚧 Known Issues

Timebased Linear Caching

Whilst preparing for this release, we noticed that the timebased linear caching feature was causing troubles in our current write process to the database. Therefore, it has been disabled for now, but we will try to enable it again as soon as possible

Change Notes

Full Changelog: v3.3.0...v3.4.0

v3.3.0

11 Sep 14:37
Compare
Choose a tag to compare

What's Changed

Fragmentation revamp: Bucketisation & Pagination 📇

Although no breaking changes on the front end have been introduced, you might see in the logs that there is one fragmentation job that will run periodically.
This job will, for each view, first define the buckets in the bucketisation step. After that, the pagination step will assign the bucketised members to pages.
This was done in terms of performance to decouple the ingestion process from fragmentation.
Note that further releases will improve on performance of these processes.

Fragmentation will check every 30 seconds for unprocessed members.
If you wish to use a specific interval, update the ldes-server.fragmentation-cron spring value with a valid spring cron.

Fragmentation metrics 📈

In terms of observability, we also provide an update for all you Prometheus fans!
You will now have 3 metrics to follow up the internal processes of your LDES Server:

  • ldes_server_ingested_members_count : Will keep track of the ingested members per collection.
  • ldes_server_bucket_members_count : Will keep track of all bucketised members per view.
  • ldes_server_pagination_members_count : Will keep track of all paginated members per view.

Skolemization ♻️

As per request of one of our onboarders, we introduced skolemization.
This feature allows the LDES Server to replace blank nodes with skolemized URIs.
For more details, check out the new documentation

Known Issues 🚧

Compaction vs Fragmentation

Whilst preparing for this release, we noticed how the newly created compaction URIs conflict with our pagination.
This issue is being tracked as part of #1365
We advice you to turn off compaction. This can be done by setting the compaction cron to -.

Change Notes

  • chore: finalise 3.2.0 by @Yalz in #1332
  • doc: update event source documentation by @jeflaenen in #1333
  • Use latest cache actions by @rorlic in #1345
  • chore: #1346: auto enable Spring Batch table creation + filter out ac… by @Yalz in #1349
  • feat: skolemization by @jobulcke in #1351
  • chore: improve ci pipeline by @Yalz in #1352
  • feat: data model: retention + fragmentation by @Yalz in #1343
  • fix: missing skolemization domain shacl uri validation by @jobulcke in #1354
  • feat: include expanded metrics + general fragmentation fixes by @Yalz in #1356
  • fix compaction by @Yalz in #1358
  • feat: run fragmentation jobs per view in parallel by @Yalz in #1359
  • fix: broken needs_pagination db view by @jobulcke in #1360
  • chore: make fragmentation jobs parallel by @Yalz in #1361
  • chore: removed incorrect unique constraint and added some indexes by @Yalz in #1362
  • chore: finalise 3.3.0 release by @Yalz in #1363
  • docs: skolemization updates by @Yalz in #1367

New Contributors

Full Changelog: v3.0.0...v3.3.0

3.2.0-alpha

03 Jul 09:45
7b3acd3
Compare
Choose a tag to compare
3.2.0-alpha Pre-release
Pre-release

What's Changed

Resolving memory issue in Pagination

Due to an issue in pagination in version 3.1.0, the memory kept increasing in long runs.
This has now been resolved. Why therefor highly advise users to move to this release as soon as possible.

Under the hood: Database model changes

For those who might already have noticed, a new database model is showing itself between our releases.
This is with the goal of having a more performant solution.

Once all parts of the database are migrated, a full overview of the new database will be provided for those interested

Change Notes

Full Changelog: v3.1.0-alpha...3.2.0-alpha

v3.1.0 alpha

19 Jun 08:51
f839814
Compare
Choose a tag to compare
v3.1.0 alpha Pre-release
Pre-release

What's Changed

Liquibase introduction

From the 3.1.0 release on, the LDES server contains a migration path between each release.
No extra configuration is needed, all needed tables and migrations will be done on the fly.

Fragmentation rework (batching)

The fragmentation got a big rework to focus towards a more performant LDES Server.
The 2 processes (bucketisation and pagination) are now split up:

  • Bucketisation: Based on the configured fragmentation strategy and a given LDES member, the member can be assinged to a number of buckets. This will be reflected in the relations in the LDES fragments.
  • Pagination: For each of the assigned buckets, the members will be paginated. This happens based on the configured memberCount per page.

These processes will now work with a time interval to process more members at the same time.

Geospatial fragmentation update

Previously, there was an issue in the geospatial fragmentation where only the tiles that contains the points of a shape were taken.
In the below example, A3 and D3 were taken as tiles of a geospatial fragmentation, but the others were ignored.
From now on, also tiles B3, C2 and C3 are taken.
image

Closing of an LDES

If, as a dataowner, you know no more data will be ingested in an Event Stream, there is now the ability to close the stream (turns the latest page immutable).
This gives the advantage that the LDES Client can stop following the LDES without needlessly polling for updates that will never come.
To close an LDES, please visit the swagger endpoint.

Change notes

Full Changelog: v3.0.0-alpha...v3.1.0-alpha

v3.0.0

23 May 14:02
d6c0aea
Compare
Choose a tag to compare

What's Changed

Postgres implementation

To deliver a more performant and transactional experience, the LDES Server moves from its trusted mongodb database
to a PostgreSQL database.
This however is only the first step in a peformance focus and more updates on the database structure might come.

For more info on how to upgrade, check out the configuration guide.

Change notes

Full Changelog: v2.15.0-alpha...v3.0.0-alpha

v2.15.0-alpha: Merge pull request #1282 from Informatievlaanderen/develop

13 May 07:40
31fb33b
Compare
Choose a tag to compare

What's Changed

  • fix: attach link to Hulp Nodig button (#1277)
  • Feat: fetch streaming LDES fragment (#1272)
  • fix: invalid swagger ui in docs (#1273)
  • feat: cleanup actuator hostname customizer (#1269)
  • docs: reduce documentation padding (#1268)

Full Changelog: v2.14.0-alpha...v2.15.0-alpha

v2.14.0-alpha

18 Apr 09:56
c2af37d
Compare
Choose a tag to compare
v2.14.0-alpha Pre-release
Pre-release

What's Changed

  • fix: cleanup test resource files in de ldes-server-admin module in #1257
  • fix: slow retention insert query in #1263
  • feat: member model extractor performance increase in #1264
  • fix: mongock order failure in #1266

Full Changelog: v2.13.0-alpha...v2.14.0-alpha

v2.13.0-alpha

10 Apr 13:14
da158b8
Compare
Choose a tag to compare
v2.13.0-alpha Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: v2.12.0-alpha...v2.13.0-alpha

v2.12.0-alpha

27 Mar 10:11
9b18ccc
Compare
Choose a tag to compare
v2.12.0-alpha Pre-release
Pre-release

What's Changed

Dependencies

  • build(deps): bump io.micrometer:micrometer-tracing-bridge-otel from 1.2.3 to 1.2.4 by in #1194
  • build(deps): bump org.springdoc:springdoc-openapi-starter-webmvc-ui from 2.3.0 to 2.4.0 by in #1193
  • build(deps): bump org.apache.maven.plugins:maven-gpg-plugin from 3.1.0 to 3.2.1 by in #1201

Features

  • Ingestion and bulk ignestion of state objects, and version creation in #1196, #1207, #1203, #1214 and #1216
  • Additional validation on member ingestion for both version and state objects in #1213 and #1215

Fixes

  • fix: not totally clear max-age documentation by in #1187
  • fix: member id extraction by in #1197
  • fix: #1186: update timebased relations by in #1200
  • fix: code smells by in #1211
  • fix: remove immutable cache from eventstream by in #1221

Full Changelog: v2.11.0-alpha...v2.12.0-alpha