Thursday, 31 January 2019

Infinispan Spring Boot Starter 2.1.3.Final is out!

Dear Infinispan and Spring Boot users,

We have just released Infinispan Spring Boot 2.1.3.Final.

2.1.3.Final is using the last Infinispan Release 9.4.6.Final and contains some bug fixes related to Actuator integration.

You can find this release 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

Monday, 28 January 2019

10.0.0.Alpha3 and 9.4.6.Final

Hey there,

the Infinispan team has cooked two releases for you today:

10.0.0.Alpha3

This release contains 3 features:


  • [ISPN-4075] - State transfer should preserve the creation timestamp of entries
  • [ISPN-9320] - Automatic hot rod client version selection
  • [ISPN-9625] - Make clustered locks configuration possible by XML
  • [ISPN-9771] - Support for configuration in JSON format
We've also started removing code which was deprecated in the past, so check the upgrading document to see what you need to adapt in your application. This document will receive further changes during the 10.0 cycle.

The complete list of issues resolved in 10.0.0.Alpha3.

Some other features are in the works and should be landing during the beta period. Check the first of the alpha posts to learn more about the new stuff.


9.4.6.Final

The stabilization of 9.4 continues with this micro release.

Highlights are:

  • [ISPN-7889] - BaseDistributionInterceptor.remoteGet may cause concurrency issues
    [ISPN-8889] - Data race in NonTxInvocationContext
  • [ISPN-9873] - Remove listeners when the lock is removed
  • [ISPN-9822] - BasicComponentRegistryImpl fails with security manager
  • [ISPN-9819] - Improve Spring-Session events handling in remote and embedded

The complete list of issues resolved in 9.4.6.Final.


Please report any issues in our issue tracker and join the conversation in our Zulip Chat to shape up our next release.

Tuesday, 15 January 2019

Infinispan Spring Boot Starter 2.1.2.Final is out!

Dear Infinispan and Spring Boot users,

We have just released Infinispan Spring Boot 2.1.2.Final.

2.1.2.Final is using Spring Boot 2.1.2.RELEASE and contains some bug fixes related to JCache and Actuator integration.

The starter is now using Infinispan's last stable release: 9.4.5.Final.

You can find this release 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

Tuesday, 11 December 2018

Infinispan Spring Boot Starter 2.1.1.Final and 1.0.4.Final are out!

Dear Infinispan and Spring Boot users,

We have just released Infinispan Spring Boot 2.1.1.Final and 1.0.4.Final.

1.0.4.Final is using Spring Boot 1.5.17.RELEASE
2.1.1.Final is using Spring Boot 2.1.1.RELEASE 

Both starters are now using Infinispan's last stable release: 9.4.4.Final.

9.4.4.Final provides full support to JDK 11, Spring 4 and 5.
Concerning Spring 5, it includes Spring Session 2.1.2.RELEASE support.

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

Monday, 10 December 2018

Infinispan 9.4.4.Final and 10.0.0.Alpha2 out with Spring 5 support!

We've just released completed a couple of releases:

Infinispan 9.4.4.Final (release notes)

  • Adds Spring 5 and Spring Boot 2.1 support
  • Fixes for JDK 11 compatibility. 
  • Improves Cache#size() performance when using shared cache stores.

Infinispan 10.0.0.Alpha2 (release notes) contains same fixes as 9.4.4.Final plus

  • Removes the CLI cache loader
  • RemoteCache#getBulk methods.

Don't forget to checkout the Infinispan 10 road map blog post to find out all that's coming.

Please report any issues in our issue tracker and join the conversation in our Zulip Chat to shape up our next release.

Cheers,
Galder

Wednesday, 21 November 2018

The road to Infinispan 10 (Alpha1)

Dear all,

Today we are releasing 10.0.0.Alpha1 and 9.4.2.Final.

Infinispan 9.4.2.Final comes with a number of bug fixes and some small additional features:

  • ISPN-9655 REST Access Log headers
  • ISPN-8144 & ISPN-9661 Cross-Site replication statistics
  • ISPN-9708 Expose the executor services through JMX
  • ISPN-9732 Local iteration optimization with write behind is valid for non shared stores
  • ISPN-9717 Fix Integer overflow for lifespan and maxIdle

We have begun working on what will become Infinispan 10. As with all new major releases, this will come with a number of important changes.

  • New Server
    We are working on a new lightweight server, currently dubbed ServerNG, which will supersede the current WildFly-based offering. The new server will have a smaller disk and memory footprint, a new RESTful admin interface, improved security. It will still use familiar components (Elytron for security, Narayana for transactions, etc) but we hope that the installation and usability experience will be most improved. A dedicated blog post will describe in detail what is coming.
  • Long-term Storage Format
    The persistent storage format will be changed so that it will be easier to transparently make changes to it without requiring further exporters/importers.
  • Non-blocking listeners
    The listener implementation will be replaced with a non-blocking implementation.
  • Asynchronous CacheLoader/Store
    Store operations will be ran in another thread to provide non blocking for main threads
  • Improved statistics
    Infinispan statistics have been traditionally over-simplistic, offering mostly basic averages for writes and reads. We are going to implement percentiles on a histogram as well as recording tracing information so that you will be able to know how much time is being spent in the various subsystems (clustering, persistence, etc.)
  • New API
    The current Infinispan API, based around Java's ConcurrentHashMap design, does not offer the flexibility required to support modern reactive designs as well as the various extensions we've added over the years (counters, multimaps, etc). We are therefore working on a new modern API design which we will be describing with a number of blog posts in the near future.
  • Agroal JDBC Connection Pool
    We are replacing the JDBC connection pool implementation with Agroal.
  • Kubernetes Operators
    Operators are all the rage in the Kubernetes world, and we are working on an Infinispan Operator which will take care of managing and monitoring the health of an Infinispan cluster, handle scale up/scale down safely, perform upgrades and more.

Infinispan 10.0.0.Alpha1 is the first release from our development branch. It currently includes the following features on top of what is in 9.4.2.Final:



Please report any issues in our issue tracker and join the conversation in our Zulip Chat to shape up our next release.

Monday, 19 November 2018

Quick start Infinispan on Kubernetes

Last week we showed you how to easily run Infinispan on top of OpenShift. This week we're trying to do the same on Minikube, a tool that makes it easy to run vanilla Kubernetes locally.

Although we've already covered the topic in the past, we felt the descriptors needed a permanent location and an update to the latest Infinispan releases. Detailed instructions can be found in this repository.

With OpenShift, we took advantage of Templates which allow a set of objects to be parameterised.
Templates are OpenShift specific, so Kubernetes does not understand them. Instead, we provide you with the individual descriptors required to run Infinispan (Helm chart to come...). This includes:


Before applying the descriptors, download and install Minikube. Then, set a profile, select the VM driver, give it enough CPU and memory for your experiments, and start it.

Once Minikube it's running and you have the corresponding kubectl command line tool installed, simply call:

$ kubectl apply -f .

Once all pods are ready, you should verify the 3-node cluster has formed correctly (find out how in the README file).

When ready, you can start storing and retrieving data. The HTTP REST endpoint is particularly useful for these initial tests, to verify everything works as expected:

$ kubectl exec \
  -it infinispan-server-0 \
  -- curl -v -u test:changeme -H 'Content-type: text/plain' -d 'test' infinispan-server-http:8080/rest/default/stuff

Then:

$ kubectl exec -it infinispan-server-1 \
  -- curl -v -u test:changeme infinispan-server-http:8080/rest/default/stuff

Go and try it out and let us know what you think. You can find us on this Zulip chat :)

Cheers,
Galder