cache2k v1.3.2.Alpha Release Notes

Release Date: 2020-08-07 // over 3 years ago
  • ๐Ÿš€ This is a preview release for evaluation purposes and should not be used in production.

    ๐Ÿ†• New and Noteworthy

    • ๐Ÿ”€ Synchronous execution of expiry listener

    Possible Breakages

    ๐Ÿ”€ Cache2kBuilder.addListener will execute an EntryExpiredLister synchronously. In version
    1.2 an expiry listener was always executed asynchronously. This is an potentially incompatible
    ๐Ÿ”„ change, in case expiry listeners are used. Review the existing client code and
    ๐Ÿ‘‰ make sure that addAsyncListeners is used for an EntryExpiredLister if that is wanted.

    API Changes

    • ๐Ÿ—„ Deprecated IntCache and LongCache

    ๐Ÿ›  Fixes and Improvements

    • โช Revert deprecation of ExceptionPropagator introduced in version 1.3.1
    • Internal: Improvement and simplification of ExceptionPropagator handling
    • ๐Ÿ›  fix missing expiry listener call after a created listener call, in case expiry during the insert
    • expiry, expireAfterWrite, refresAhead: Fix race condition of a Cache.put and the
      termination of the probation period after a refresh.
    • Cache.invoke / EntryProcessor: Internal improvements when using listeners: avoid unnecessary entry reads
    • ๐Ÿšš race of refresh and delete: if an entry is deleted via Cache.remove it was not
      reappearing when refreshed concurrently
    • internal cleanup: use common code for refresh in different cache variants
    • eviction efficiency fix for a few special short traces