Tuesday, 08 September 2020
Infinispan 12.0.0.Dev03
Dear Infinispan community,
Infinispan 12 development release 03 is here!
Cross Site Replication
With the new asynchronous cross-site replication algorithm introduced in Infinispan 11, this release brings a long desired feature: conflict resolution.
It is possible to configure a merge policy where, in case of conflict between updates of different sites, the value can be merged. Some predefined merge policies can be found here.
See the docs for more information about conflict resolution.
Another small improvement has been made to cross-site replication in this release. When sites get requests targeting caches that don’t exist or aren’t started, sender sites stop retrying the requests, which takes the backup location offline. Administrators must then bring the sites back online and perform state transfer to sync possible out-of-date data.
Infinispan Server
This version includes a new version of the web console, including mainly fixes, but also the ability to filter between Strong and Weak counters and to remove counters from the list.
You can look at the release notes to see what has changed.
Documentation
Our documentation has been updated with some additional content as well as improvements for clarity and technical accuracy, notably: * Infinispan Operator Guide * Server Guide * Guide to Cross-Site Replication * Security Guide
As always, the Infinispan team hope you find the documentation useful and complete. We’d love to hear from you and really value feedback from our community. If you think something is missing from the docs or spot a correction, please get in touch and we’ll get on it straight away.
Release notes
You can look at the release notes to see what has changed.
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, report bugs, chat with us, ask questions on StackOverflow.
Tags: release development
Monday, 27 July 2020
Infinispan 12.0.0.Dev01
Dear Infinispan community,
The first of our development releases of Infinispan 12 is here and it features our upgrade to Hibernate Search 6 which finally allows us to upgrade to Lucene 8.x. We’ve had to change a few things in our query implementation to accommodate the latest and greatest and to make the feature simpler to use. As expected, being a development release, there are some rough edges and we’d really love YOUR help in making sure that we get everything right for the final release later this year.
You can look at the release notes to see what has changed.
We’re hard at work on new features, improvements and fixes, so watch this space for more announcements!
Get it, Use it, Ask us!
Please download, report bugs, chat with us, ask questions on StackOverflow.
Tags: release development
Friday, 03 July 2020
Infinispan 11.0.1.Final
Dear Infinispan community,
we hope you’ve been enjoying all the new goodies included in our latest major release, Infinispan 11. To show that we care about you, we have a brand new micro release for you which addresses a number of issues.
In particular, if you are using HTTP/2 with TLS/SSL, JCache with persistence, Spring Boot or RocksDB, we have fixes for you.
Additionally, the Infinispan Archetypes have been resurrected and are now being maintained as part of the main repository to ensure they won’t fall out of sync anymore. Read more about how to get started with a Maven archetype.
The following list shows what we have fixed:
Component Upgrade
https://issues.redhat.com/browse/ISPN-11843[ISPN-11843] - Upgrade SB starter to 2.3 https://issues.redhat.com/browse/ISPN-12009[ISPN-12009] - Upgrade Hibernate to latest micro https://issues.redhat.com/browse/ISPN-12013[ISPN-12013] - Upgrade H2 database engine to 1.4.200 https://issues.redhat.com/browse/ISPN-12014[ISPN-12014] - Upgrade mojo-executor
Enhancement
https://issues.redhat.com/browse/ISPN-11151[ISPN-11151] - Migrating some remote tests from jdg-functional-tests to upstream https://issues.redhat.com/browse/ISPN-11549[ISPN-11549] - Move Infinispan SB starter simple tutorials to simple tutorials repository https://issues.redhat.com/browse/ISPN-11782[ISPN-11782] - Docs: Cross-Site monitoring https://issues.redhat.com/browse/ISPN-11828[ISPN-11828] - Docs: Add stable docs to infinispan.org/documentation https://issues.redhat.com/browse/ISPN-11913[ISPN-11913] - Docs: Add search and improve index pages https://issues.redhat.com/browse/ISPN-11996[ISPN-11996] - Allow customize memory and memory swap for Testcontainers images https://issues.redhat.com/browse/ISPN-12001[ISPN-12001] - Add jboss-parent to upstream projects https://issues.redhat.com/browse/ISPN-12006[ISPN-12006] - Test upload schema with CLI https://issues.redhat.com/browse/ISPN-12007[ISPN-12007] - Elytron 1.12.1.Final https://issues.redhat.com/browse/ISPN-12010[ISPN-12010] - Remove Apache Commons Codec https://issues.redhat.com/browse/ISPN-12012[ISPN-12012] - Force the same Guava version in all transitive dependencies https://issues.redhat.com/browse/ISPN-12021[ISPN-12021] - Docs: Creating Caches Remotely https://issues.redhat.com/browse/ISPN-12039[ISPN-12039] - Docs: Hot Rod Per-Cache Simple Tutorial https://issues.redhat.com/browse/ISPN-12045[ISPN-12045] - Clarify jboss-marshalling deprecation message https://issues.redhat.com/browse/ISPN-12047[ISPN-12047] - Merge Async and Sync Cross-Site attributes https://issues.redhat.com/browse/ISPN-12053[ISPN-12053] - Remove jetty-client from the REST testsuite https://issues.redhat.com/browse/ISPN-12059[ISPN-12059] - CliIT allow external module use https://issues.redhat.com/browse/ISPN-12065[ISPN-12065] - Add the anchored-keys module to the server https://issues.redhat.com/browse/ISPN-12068[ISPN-12068] - HTTP/2 pipeline missing chunked handler
Bug
https://issues.redhat.com/browse/ISPN-11998[ISPN-11998] - Eviction new and legacy attributes should stay in sync https://issues.redhat.com/browse/ISPN-12017[ISPN-12017] - Explicitly disable the java8-test execution defined in the jboss-parent POM https://issues.redhat.com/browse/ISPN-12018[ISPN-12018] - Fix JpaStoreCompatibilityTest failure https://issues.redhat.com/browse/ISPN-12019[ISPN-12019] - Always attempt to initialize openssl https://issues.redhat.com/browse/ISPN-12026[ISPN-12026] - Fetch the correct IP:port when NodePort is used https://issues.redhat.com/browse/ISPN-12027[ISPN-12027] - RemoteCacheContainer missing getCache overrides https://issues.redhat.com/browse/ISPN-12030[ISPN-12030] - BlockHound is not active on JDK 13/14 https://issues.redhat.com/browse/ISPN-12032[ISPN-12032] - JCache cache loader should not require marshalling https://issues.redhat.com/browse/ISPN-12038[ISPN-12038] - RocksDB compression options incomplete and incorrectly applied https://issues.redhat.com/browse/ISPN-12043[ISPN-12043] - Shared stores should not have (add|remove)Segments methods invoked https://issues.redhat.com/browse/ISPN-12046[ISPN-12046] - Out of the box server testing is broken https://issues.redhat.com/browse/ISPN-12056[ISPN-12056] - Some tests are failing on windows when they try to delete the SingleFileStore https://issues.redhat.com/browse/ISPN-12058[ISPN-12058] - wildfly/feature-pack module doesn't build with profile java8-test https://issues.redhat.com/browse/ISPN-12060[ISPN-12060] - WildFly modules integration tests do not work on WildFly 19 https://issues.redhat.com/browse/ISPN-12064[ISPN-12064] - REST server returns 403 (forbidden) for same origin request https://issues.redhat.com/browse/ISPN-12067[ISPN-12067] - HTTP/2 framing error for invalid requests https://issues.redhat.com/browse/ISPN-12069[ISPN-12069] - Unable to override the marshaller in SB starter
Sub-task
https://issues.redhat.com/browse/ISPN-11953[ISPN-11953] - Create client archetype https://issues.redhat.com/browse/ISPN-11954[ISPN-11954] - Move archetypes to Infinispan repository https://issues.redhat.com/browse/ISPN-11955[ISPN-11955] - Remove testcase-archetype https://issues.redhat.com/browse/ISPN-11956[ISPN-11956] - Rework store-archetype to use the new NonBlockingStore SPI https://issues.redhat.com/browse/ISPN-11957[ISPN-11957] - Upgrade embedded archetype to 11.0 https://issues.redhat.com/browse/ISPN-11958[ISPN-11958] - Document Archetypes
Get it, Use it, Ask us!
Please download, report bugs, chat with us, ask questions on StackOverflow.
Tags: release
Monday, 15 June 2020
Infinispan 11.0.0.Final
Dear Infinispan community,
We’re proud to announce the release of Infinispan 11. In the tradition of assigning beer codenames to our releases, we decided that "Corona Extra" would be a significant representation of the period during which most of the development has happened. We hope that you, your families and friends have not been impacted by the pandemic.
But didn’t you release 10.x not long ago ?
Indeed, but version numbers are just that: numbers. We are still continuing our near-quarterly releases, but, from now on, these will be identified by major version numbers.
So, what’s new in Infinispan 11 ?
As usual we added new features, improved existing ones and prepared the groundwork for upcoming features.
Conflict detection and resolution for Asynchronous Cross-Site Replication
Cross-site replication is one of our most used features, as it enables a number of very useful use-cases such as geographical load distribution, zero-downtime disaster recovery and follow-the-sun data centers.
In this release we completely overhauled the way we implement asynchronous cross-site replication by introducing conflict resolution, based on vector clocks, as well as multiple site masters to increase throughput and reliability. This means that you can have multiple active sites safely replicating data between each other.
Server security overhaul
Infinispan Server’s security, while very powerful, was also tricky to set up because of the configuration complexity. Since we wanted to make the server secure by default, we put a lot of work in simplifying the configuration and removing all of the boilerplate. Additionally, if you are securing the server with Keycloak, accessing the console will correctly obtain credentials through the realm login page.
Non-blocking internals
Our quest to make better use of the available hardware resources in all deployment models (bare-metal, containerized, virtualized) continues as we’ve now consolidated a lot of thread-pools into just two: non-blocking and blocking. Most of the code now makes use of the non-blocking pool. Paths which may block, such as certain persistent stores, use the blocking pool so that they don’t hold up work that may be processed without blocking. This release also includes a new non-blocking Store SPI, so that you can take advantage of stores with real non-blocking I/O.
Clustering
As Infinispan is participating in CloudButton, a Serverless Data Analytics Platform which is part of the European Union’s Horizon 2020 research and innovation programme, we have introduced a new optional feature which allows scaling by adding new nodes to a cluster without state-transfer. This means that you can add capacity with zero-impact to your operations. Obviously this comes at the cost of reduced resilience in case of failures, but, for scenarios where high availability is not required, this gives you a highly scalable in-memory storage solution.
If high availability is your thing, the rebalancing algorithm which decides how segments (our subdivision of the data space) are mapped to nodes has been overhauled to be much more accurate and fairer.
Query/Indexing
Querying and indexing will be the major focus in Infinispan 12 (with the long awaited upgrade to Hibernate Search 6 and Lucene 8). In preparation for that, a lot of work has gone into deprecations, usability, clean ups and documentation.
Hot Rod Client improvements
Many usability changes have been added to our Java Hot Rod client:
-
a Hot Rod URI as a compact way to configure a connection
-
automatic creation of caches on demand using supplied configurations/templates with support for wildcards
-
improved iteration of entries by concurrently splitting work across segments/nodes
Other Server changes
If you are using the JDBC cache store to persist your cache entries to a database, Infinispan Server now restores the ability to create shared datasources which was lost when we abandoned the WildFly base.
CLI
The CLI received a number of new features such as logging manipulation, obtaining sever reports and user management, superseding the user-tool
script.
Console
Our console overhaul, which started in 10, continues with lots of new features, integrations and polishing. Highlights are:
-
entry creation dialog box
-
querying
-
KeyCloak integration
Clouds, containers and operators
Our Infinispan Server image is now based on ubi-minimal:8.2
.
And thanks to our friends over at Quarkus, Infinispan Server is now also available as a native image built using GraalVM. This image is available on Quay.io and Docker Hub.
The Kubernetes Operator adds a new Cache Custom Resource and the ability to expose services via Ingress and Routes.
Documentation
Documentation has also received a lot of love in all areas:
-
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.
What’s next ?
As briefly mentioned above, Infinispan 12 will be our next release, scheduled for this autumn. We will be working on query/index improvements, backup/restore capabilities as well as the usual load of improvements, clean-ups across the board. We will keep you posted with development release and blogs about upcoming highlights. If you’d like to contribute, just get in touch.
Get it, Use it, Ask us!
Please download, report bugs, chat with us, ask questions on StackOverflow.
Tags: release
Monday, 08 June 2020
Infinispan Operator 1.1.2 is out!
We’re pleased to announce version 1.1.2 of the Infinispan Operator for Kubernetes and Red Hat OpenShift.
Release highlights:
-
Simplified configuration for external services.
-
Improved readability of CR yaml output.
-
Now available from the Operator image registry at quay.io.
Get full release information at version 1.1.2.
Our community documentation has also been updated and improved! Be sure to check out the Infinispan Operator v1.1.x Guide.
Update Channels and Automatic Upgrades on OpenShift
Starting with this release we are moving channels from a stable/preview structure to a micro-stream structure. This means you’ll get channels for each major.minor version of Infinispan.
For now version 1.1.x is available on the dev-preview channel but you should switch your Operator subscription to the 1.1.x channel before the next release to continue receiving updates.
If you use the Automatic Approval upgrade policy on OpenShift, your cluster is now running Infinispan Operator version 1.1.2 with the Infinispan 10.1.7.Final server image.
Get it, Use it, Ask us!
Try the simple tutorial for 1.1.x.
You can report bugs, chat with us, ask questions on StackOverflow.
Tags: release operator
Monday, 25 May 2020
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.
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
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!
Please download, report bugs, chat with us, ask questions on StackOverflow.
Tags: release
Tuesday, 03 March 2020
Infinispan 11.0.0.Alpha2 and 10.1.3.Final
Dear Infinispan community,
we’ve just tagged a couple of releases.
First off is the second Alpha release of what will eventually become Infinispan 11. The release notes may not be exciting, but it is mostly preparatory work for the big features we are working on: vastly improved async cross-site replication, monitoring, query improvements, the console and the CLI, and more.
We also released a micro-update to 10.1 which fixes quite a few bugs, especially in the way we handle JMX and MP metrics and further improves the documentation.
New release naming scheme
Get it, Use it, Ask us!
Please download, report bugs, chat with us, ask questions on StackOverflow.
Tags: release
Monday, 24 February 2020
Infinispan Operator 1.1.1 is out!
We’re pleased to announce version 1.1.1 of the Infinispan Operator for Kubernetes and OpenShift.
This release has focused on fixing bugs and improving robustness, mainly related to the following:
-
improving reconcile flow stability
-
reducing Operator CPU load
-
cleaning up logs
Our community documentation on https://infinispan.org/documentation has also been updated and improved. You can find some of the changes at:
Automatic Upgrades
If you installed the Infinispan Operator on Red Hat OpenShift with the Automatic Approval upgrade policy, your cluster should already be running the latest versions (Infinispan Operator 1.1.1 with Infinispan 10.1.2.Final).
We would like to hear opinions from you about the automated upgrade process, so get in touch if you have any issues or want to give any feedback.
Get it, Use it, Ask us!
Try the simple tutorial for the Operator, which has been updated for this version.
You can report bugs, chat with us, ask questions on StackOverflow.
Finally, a detailed list of issues and features for this version can be found here.
Tags: release operator
Monday, 10 February 2020
Infinispan Spring Boot Starter released with Spring Boot 2.2.4.RELEASE
Dear Infinispan and Spring Boot users,
We are pleased to announce the release of Infinispan Spring Boot 2.1.8.Final and 2.2.0.Final.
2.1.8.Final uses Infinispan 9.4.17.Final and Spring Boot 2.2.2.RELEASE
2.2.0.Final uses Infinispan 10.1.1.Final and Spring Boot 2.2.2.RELEASE
Configuring Marshalling with Infinispan 10.x
Infinispan 10.x servers have some significant changes to marshalling that impact Spring Boot users.
The default Marshaller for Infinispan 10.x is ProtoStream, which uses Protocol Buffers to provide extensible, language and platform neutral serialization.
Unfortunately ProtoStream does not currently work with Infinispan Spring Cache and Session support. As a result, Spring users in Remote Client/Server Mode must use the Java Serialization Marshaller and add classes to a Java serialization whitelist.
Add the following configuration properties:
infinispan.remote.marshaller=org.infinispan.commons.marshall.JavaSerializationMarshaller
infinispan.remote.java-serial-whitelist=org.infinispan.tutorial.simple.spring.remote.*
The infinispan.remote.java-serial-whitelist
property specifies the classes, or packages, that Java serialization can marshall. Separate multiple class names with a comma (,
).
Note that, in previous versions, JBoss Marshaller was the default for Infinispan. Spring users can also use JBoss Marshalling, but it is deprecated as of Infinispan 10.x.
Get it, Use it, Ask us!
You can find these releases in the maven central repository.
Please report any issues in our issue tracker and join the conversation in our Zulip Chat to shape up our next release.
Enjoy,
The Infinispan Team
Tags: release spring boot spring
Friday, 24 January 2020
Infinispan Operator 1.1.0 is out!
We’re pleased to announce version 1.1.0 of the Infinispan Operator for Kubernetes and OpenShift.
This release includes a bunch of very exciting features! Let’s dig into them:
Full Lifecycle
Infinispan Operator 1.1.0 is rated at the Full Lifecycle
capacity level, which means the Operator now provides advanced cluster management capabilities and functionality to handle demanding workloads.
One of the key new features in this release is graceful shutdown, which lets you bring clusters down safely to avoid data loss.
During cluster shutdown, caches can passivate in-memory entries to persistent storage along with the internal Infinispan state that maps which nodes own which entries. When you bring Infinispan clusters back, all your data is restored to memory.
Check out the Graceful Shutdown docs for more information.
Graceful shutdown also enables the Infinispan Operator to perform reliable upgrades.
When a new version of the Infinispan Operator starts, it checks for running Infinispan clusters that were created by an older Operator version.
If the Operator detects a cluster that requires upgrade, it invokes a graceful shutdown on the cluster and then brings it back with the new Infinispan version.
You can perform upgrade manually or automatically with the Operator Lifecycle Manager on OpenShift.
Note that Operators installed via the OperatorHub on OpenShift Container Platform are managed by the Operator Lifecyle Manager.
Cache vs DataGrid
This version of the Infinispan Operator delivers Cache and DataGrid services.
By default the Operator starts Infinispan clusters as Cache services, which provides a quick way to set up in-memory caching that stores data off-heap and keeps single copies of data in the cluster.
DataGrid services, on the other hand, are suited to more advanced use cases where you control and define the configuration that you need.
Cross-Site Replication
The Infinispan Operator simplifies cross-site replication set up with DataGrid services so you can back data up between separate Kubernetes or OpenShift clusters.
All you need to do is specify which type of external Kubernetes service to expose, the list of all backup locations, access secrets, and the local site name.
Find out more at: Cross-Site Replication
Automatic TLS configuration
If you’re running on Openshift and have a service that serves certificates, the Operator automatically asks for certificates sets up TLS for your endpoint connections. Encrypted by default with zero effort!
Get it, Use it, Ask us!
Try the simple tutorial for the Operator, which has been updated for this version. The tutorial shows how to install the Operator manually, but it can also be installed via the Operator Hub on OpenShift.
You can report bugs, chat with us, ask questions on StackOverflow.
Finally, a detailed list of issues and features for this version can be found here.
Tags: release operator