Skip to content
This repository has been archived by the owner on Jun 10, 2024. It is now read-only.

Releases: odpi/egeria-connector-xtdb

Consumability

01 Sep 12:05
00abd2f
Compare
Choose a tag to compare

🎉 New features

  • Extends the sample high availability Helm chart to use a JDBC-based configuration for the document store
  • The jar-with-dependencies.jar file that is used for the connector now includes all of its potential runtime dependencies for various pluggable persistence options so that these do not need to be found and downloaded separately. The only exception is JDBC drivers themselves (e.g. to PostreSQL, Oracle, etc): if you choose to use a JDBC-based back-end you will still need to download the database driver itself and make that jar file available in the LOADER_PATH (same location as the connector jar itself).
  • Adds a configuration option to directly specify the Crux configuration as an EDN string rather than a JSON structure. This is expected to be used rarely, and requires you to explicitly configure certain Lucene settings if you opt to use it, but may be necessary in certain rare cases.

🧑‍🔧 Migration

  • Given the migration to the new Crux-native Lucene index, you should allow Crux to re-index itself by following Crux's instructions for rebuilding indexes
  • Any metadata in an existing 2.8 Crux repository will need to be migrated (see the Migration Guide); this step is not necessary for a repository already at version 2.9, 2.10, 2.11, 3.0, nor for a new repository on 3.1

⚠️ Note

  • Note that as the configuration for Lucene is now using Crux's built-in support, your configuration document should no longer use the egeria.crux.lucene/lucene-store module but instead should now use the crux.lucene/lucene-store module. If all you've defined is the db-dir parameter that can remain the same (though note need to re-index above); however, with the native Crux Lucene index you should now have additional options for configuring Lucene as well.

🔨 Dependencies

Performance

19 Aug 17:03
d18fa9a
Compare
Choose a tag to compare

🎉 New features

  • General update to include latest versions of dependent libraries
  • Updates Crux to the latest available release (1.18.1):
    • now uses Crux's native Lucene index, allowing other features there to be used (e.g. checkpointing)
    • further improves performance of most operations
  • Replaces all error / warning logging with the audit logging of Egeria itself
  • Updated website for providing documentation of the connector and its usage (based on MkDocs)

🧑‍🔧 Migration

  • Given the migration to the new Crux-native Lucene index, you should allow Crux to re-index itself by following Crux's instructions for rebuilding indexes
  • Any metadata in an existing 2.8 Crux repository will need to be migrated (see the Migration Guide); this step is not necessary for a repository already at version 2.9, 2.10, or 2.11, nor for a new repository on 3.0

⚠️ Note

  • Note that as the configuration for Lucene is now using Crux's built-in support, your configuration document should no longer use the egeria.crux.lucene/lucene-store module but instead should now use the crux.lucene/lucene-store module. If all you've defined is the db-dir parameter that can remain the same (though note need to re-index above); however, with the native Crux Lucene index you should now have additional options for configuring Lucene as well.

🔨 Dependencies

Maintenance

01 Jul 20:10
6a12db8
Compare
Choose a tag to compare

🎉 New features

  • General update to include latest versions of dependent libraries
  • Now uses Crux dependencies straight from Maven Central rather than clojars
  • Updates Crux to the latest available release (1.17.1)

🧑‍🔧 Migration

  • Any metadata in an existing 2.8 Crux repository will need to be migrated (see the Migration Guide); this step is not necessary for a repository already at version 2.9 or 2.10, nor for a new repository on 2.11

🔨 Dependencies

Bug fixes and HA

03 Jun 13:27
ddec5b0
Compare
Choose a tag to compare

🎉 New features

  • Adds a sample Helm chart for setting up a high availability (HA) configuration of the connector, as well as a guide explaining how to do so
  • Updates Crux to the latest available release (21.05-1.17.0), which adds its own query optimization that in turn appears to significantly improve the getRelatedEntities graph query (now 3-4x faster)
  • Adds a suite of unit tests to provide code coverage and automated testing during build process (uncovering various bugs fixed below)

🐞Bug fixes

  • Adds null-handling in various locations to address potential NullPointerExceptions
  • Corrects a bug in the deserialization of Classification details (#115)
  • Corrects a bug in the persistence layer migration utilities to provide idempotency (#117)
  • Corrects a bug that would have prevented searching from working against multiple subtypes (#118)
  • Corrects a bug that would have prevented searching from working against multiple statuses (#119)
  • Corrects a bug where certain MetadataCollection methods (i.e. deleteEntity) were doing a number of persistent operations without being wrapped within a single transaction for atomicity (#120)
  • Corrects a bug that would have still attempted a Lucene-based query even if Lucene is not enabled and configured (#123)
  • Corrects a bug that would have prevented a particular style of nested query to fail (#125)
  • Corrects a bug where the maintainedBy field was not updated during a restore operation (#128)
  • Corrects a bug where the version of a classification was double-incremented during an update (#130)
  • Corrects a bug where the entity undo operation could undo a classification rather than the last entity update (#131)
  • Corrects a bug where saving a reference copy classification updated the underlying entity's version (#132)
  • Corrects a bug where attempting to remove a non-existent reference copy classification would have thrown a TypeErrorException (should instead be a no-op) (#146)
  • Corrects a bug where the default retrieval behavior (non-deleted instances only) was not being applied to the various graph queries (#149)
  • Cascades deletions and purges in line with the logic discussed in odpi/egeria#5183

🧑‍🔧 Migration

  • Any metadata in an existing 2.8 Crux repository will need to be migrated (see the Migration Guide); this step is not necessary for a repository already at version 2.9, nor for a new repository on 2.10

🔨 Dependencies

Performance enhancements

30 Apr 07:57
dbb7734
Compare
Choose a tag to compare

🎉 New features

  • Significantly improves the speed of the various find... operations: now significantly better than linear scaling as volumes grow, and in general are at least twice as fast (in some cases 10x faster) than in the 2.8 release
  • These improvements have also benefited some other non-search operations (reIdentifyEntity, deleteEntity), which are now approximately 3x faster than in the 2.8 release
  • The getRelatedEntities graph query is now approximately twice as fast as in the 2.8 release
  • Adds a set of migration utilities for migrating any existing (2.8 release) repository to a later release (see below)
  • Sets the reIdentifiedFromGUID property on all instances that have been re-identified, to provide full historical provenance of the instance even where it's GUID has changed over time
  • Improves retrieval of entity classifications for federated searches, aligned with odpi/egeria#5076

🧑‍🔧 Migration

  • Any metadata in an existing 2.8 Crux repository will need to be migrated to 2.9 (see the Migration Guide); this step is not necessary for a new repository on 2.9

🔨 Dependencies

Initial release

15 Apr 15:35
626fb36
Compare
Choose a tag to compare

This is the initial release of the Crux Plugin Repository Connector.

🎉 New features

  • First repository for Egeria that fully supports metadata history: point-in-time retrieval, search, graph queries, etc.
  • Built to fully support Crux's own pluggable back-ends and configurability
  • Provides its own Lucene-based index for optimal text searches

🔨 Dependencies