Skip to content

Release version 1.0.0 - Performance upgrade

Compare
Choose a tag to compare
@TK009 TK009 released this 11 Jul 15:51
· 579 commits to master since this release

Changes

  • Write and Read request performance improved massively
  • Changed journal db library to akka-persistance, improves write performance over 100 times faster
  • Added possibility to take journal snapshots using CLI
  • Configuration parameters for server start and internal timeouts
  • Configuration parameters changed for taking journal snapshots and removing old snapshots:
    • Snapshots are now taken every 6 hours by default, snapshots older than 3 days are removed
  • Internal analytics functionality was removed, but might be reintroduced in future

Migration guide

This update does not have backwards-compatible journal db. This means that old journal db needs to be removed. To update without migrating data, remove old journal db: rm -r /var/log/o-mi-node/journalDBs

  1. Update to version 0.9.2 (backup possibility added in this version)
  2. Connect to the CLI using for example netcat:
    1. nc localhost 8180
    2. backup subs odf
      • This creates json file 'subs' for subscriptions and odf file 'odf' for the data. Change them to different file path if your server doesn't have filesystem permissions in the working directory.
  3. Install this new version
  4. If installing on top of the old version (also debian or rpm package), remove old journal db: rm -r /var/log/o-mi-node/journalDBs
  5. Move the files 'subs' and 'odf' to the working directory of the new version.
  6. Restore data: Connect again with netcat and restore the data to the server from the files:
    1. nc localhost 8180
    2. restore subs odf

Other

We are now changing versioning system to more semantic-like. Our "public API" then includes at least database models, configuration, O-MI and InternalAgent interfaces. So it would be easy to know if an update works with old databases and configuration. InternalAgents compatibility is still difficult to determine as they are compiled code that uses o-mi-node as dependency.

Known Issues

  • CLI backup functionality not working correctly. Fixed in version 1.0.1.