Blogs Infinispan 11.0.0.CR1

Infinispan 11.0.0.CR1

Dear Infinispan community,

we’ve just released 11.0.0.CR1 which comes loaded with quite a few features and improvements.

Cross-Site Replication Improvements

The cross-site replication feature received two major improvements:

  • Support for multiple site masters

    The new algorithm is able to take advantage of multiple site masters, distributing load between them. If your environment is capable, increase the number of site masters in RELAY2 configuration:

    <relay.RELAY2 site="LON" max_site_masters="1000"/>
  • Conflict detection and resolution for Asynchronous Cross-Site Replication

    Taking advantage of vector clocks, in asynchronous mode, Infinispan is able to detect conflicts. A conflict happens when 2 or more sites update the same key at the same time. Conflicts are resolved based on the site’s names. Updates from the site lexicographically lower, take priority, in case of conflicts. As an example, if you have 3 sites, LON, NYC and SFO, conflicts between LON and NYC discards updates from NYC and keeps the updates from LON. You can choose the priority by prepending a number to the site name. For example, if you want updates from NYC to take priority, you can set the site name to “1-NYC”.

In a future update, Infinispan will allow you to set a custom conflict resolution algorithm.

Non-blocking internals

  • All thread pools collapsed into two pools: blocking and non-blocking

Persistence

  • A new non-blocking Store SPI

Clustering

  • More accurate segment rebalancing

  • Scaling without state-transfer (experimental)

Query/Indexing

  • SearchManager, CacheQuery are deprecated. Users are encouraged to migrate to Ickle String queries obtained from Search.getQueryFactory

Server Security

  • The server is now secure by default

  • New encrypted properties realm

  • Simplified authentication and authorization configuration to be as automatic as possible

Other Server changes

  • Datasources

  • Runtime logging configuration

  • Server report

CLI

  • User Tool merged into CLI

  • CLI can be compiled natively

  • Non-interactive usage

Console

  • Lots of UX improvements

Kubernetes/OpenShift operator

  • Cache CR

  • Service .Expose with Ingress and Route

Container images

  • Images based upon ubi-minimal:8.2

  • Native generation of config files in all images

  • Native server image available at infinispan/server-native (Experimental)

Documentation

  • Added procedural content for rolling upgrades, Cache CR with the Operator, server patching, misc CLI commands, using RemoteCacheConfigurationBuilder.

  • Procedural content for different upgrade and migration tasks included in Upgrade Guide.

  • Operator and Spring Boot Starter guides now provide stable and development versions from the index page.

  • Updated index.html and throughout documentation to improve high-level context and aid retrievability.

  • Getting Started content updated and streamlined.

  • Applied several modifications, additions, and removals to documentation via community feedback.

Get it, Use it, Ask us!

We’re hard at work on new features, improvements and fixes, so watch this space for more announcements!

Please, download and test the latest release.

The source code is hosted on GitHub. If you need to report a bug or request a new feature, look for a similar one on our JIRA issues tracker. If you don’t find any, create a new issue.

If you have questions, are experiencing a bug or want advice on using Infinispan, you can use GitHub discussions. We will do our best to answer you as soon as we can.

The Infinispan community uses Zulip for real-time communications. Join us using either a web-browser or a dedicated application on the Infinispan chat.

Tristan Tarrant

Tristan has been leading the Infinispan Engineering Team at Red Hat for quite a while now, as well as being Principal Architect for Red Hat Data Grid. He's been a passionate open-source advocate and contributor for over three decades.