JetBrains Xodus v1.3.0 Release Notes

Release Date: 2019-01-31 // over 4 years ago
  • This release offers Service Provider Interface for I/O customization in the package jetbrains.exodus.io. In addition to default disk-based I/O, it lets you configure your application to use an in-memory database, or to access in read-only mode disk-based database opened in another JVM. You can also create your own I/O provider, e.g., for storing data in a remote/cloud file system.

    ๐Ÿ†• New versioning scheme

    ๐Ÿš€ Since this release, versioning is changed in order to satisfy development requirements @Jetbrains. Patch numbers no longer will be successive. E.g., next released version definitely won't be 1.3.1. Apart from that, the new versioning scheme respects all requirements of Semantic Versioning.

    โšก๏ธ Updates of dependencies

    Kotlin 1.3.10.

    ๐Ÿ› Bug fixes

    Environments

    • #18 โ€” File descriptors leaking issue fix (thanks to Valery Vlasov)
    • XD-728 โ€” Log recovery procedure can false negatively diagnose the database is encrypted with unknown cipher parameters in case of recoverable data corruption
    • XD-733 โ€” After an OutOfDiskSpaceException, recovery procedure can require application restart
    • XD-738 โ€” Utilization profile can get invalid even if there were no cold restarts
    • XD-739 โ€” Utilization computed from scratch can be highly inconsistent

    - XD-763 โ€” Xodus corrupts data store upon no space left on device

    Entity Stores

    • XD-730 โ€” FilterLinksIterable doesn't work with multiple links
    • XD-736 โ€” EntityIterable handle for SortIterable ignores stability flag
    • XD-737 โ€” Invalidation of cached FilterLinksIterable is broken if target EntityIterable is constructed as a query using links
    • XD-746 โ€” Reversing iterable with entities may throw an exception
    • XD-749 โ€” findLinks fails on empty EntityIterableBase

    ๐ŸŽ Performance improvements

    • Environments
      • XD-507 โ€” Detect automatically if utilization profile should be recalculated
      • XD-757 โ€” StringBinding is notably slower than String#toByteArray
      • XD-762 โ€” Xodus environment.close() can take a long time shortly after opening if Envionment.setGcUtilizationFromScratch(true)

    ๐Ÿ”‹ Features

    Environments

    - XD-709 โ€” Add SPI for log reader and writer customization

    Lucene Directory

    • XD-754 โ€” Lucene codec compatible with Lucene70Codec with no compression of stored fields

    ๐Ÿš€ Release Notes
    Maven Central