Monday, 18 November 2019
Infinispan 10.1.0.Beta1
Dear Infinispan community,
Quick on the heels of Infinispan 10.0 here comes the first Beta or 10.1.
Server
This release closes the gap between the legacy server and the new server we introduced in 10.0. In particular:
-
The reworked console (which will be described in detail in an upcoming series of blog posts)
-
Kerberos authentication for both Hot Rod (GSSAPI, GS2) and HTTP/Rest (SPNEGO)
-
Query and indexing operations/stats are now exposed over the RESTful API
-
Tasks and Scripting support
Non-blocking
More work has landed on the quest to completely remove blocking calls from our internals. The following have been made non-blocking:
-
the size operation
-
cache stream ops with primitive types
Additionally caches now have a reactive Publisher which is intended as a fully non-blocking approach to distributed operations.
Bug fixes, clean-ups and documentation
Over 40 bug fixes. See the full list of changes and fixes
Get it, Use it, Ask us!
Please download, report bugs, chat with us, ask questions on StackOverflow.
Infinispan 10.1.0.CR1 is scheduled for December the 7th.
Tags: beta release
Monday, 15 July 2019
Infinispan 10.0.0.Beta4
Dear Infinispan users,
it has been a while since our last release and quite a few things have been cooking in the Infinispan furnace. Bear in mind that the list below should just serve as a summary and that dedicated blogs, documentation and examples will appear in the near future.
Server
Since 5.3, our server has been built on top of WildFly (JBoss AS7 at the time). WildFly gave us a very solid base, including integration with a lot of useful components (security, datasources, management etc) but it also forced us to maintain a large amount of integration code. We have therefore decided to start from a much leaner base to build the new server which, internally we’ve been calling ServerNG, but which we’re now releasing as "Infinispan Server". The old WildFly-based server is still available, but it should be considered "legacy" and will no longer receive any feature enhancements.
The new server deserves its own dedicated post, but its main features are:
-
smaller size (36MB vs 130MB)
-
smaller memory footprint (20MB heap usage at boot vs 40MB)
-
single-port: the Hot Rod, REST and management endpoint are now served through a single-port (11222) with automatic protocol detection between HTTP/1.1, HTTP/2 and Hot Rod. The memcached endpoint is handled separately since we don’t implement the binary protocol yet.
-
security implemented using WildFly Elytron currently supporting PLAIN, DIGEST-MD5, SCRAM, EXTERNAL mechs for Hot Rod, BASIC, DIGEST, CLIENT_CERT for REST/HTTP (OAuth/JWT/GS2/GSSAPI/SPNEGO will be coming in the next releases)
-
the server configuration extends the embedded configuration scheme
-
caches/counters are created and managed dynamically through Hot Rod / REST.
Marshalling
Infinispan’s marshalling has received a significant overhaul and it is now split into three distinct marshallers: Internal, Persistence and User (ISPN-7409 ISPN-9621) The Persistence marshaller is now based on ProtoBuf allowing for long-term compatibility of data stored in memory and in cache stores. The Store Migrator has been updated to allow migration from Infinispan 8.x/9.x cache stores to the new format (ISPN-10276)
Core changes
Infinispan’s internal dependency-injection has been completely rewritten so that factories, components and dependencies are discovered and resolved at compile time instead of using runtime reflection. This, together with the marshalling changes and recent JGroups changes, paves the way for usage and native compilation with Quarkus.
REST
The REST API is continuing its overhaul with the following additions to the v2 API
-
Cluster Resource (ISPN-10268)
-
Cache Resource (ISPN-9772 ISPN-10392)
-
Counter Resource (ISPN-10151 ISPN-10152)
The REST endpoint now fully supports authorization (ISPN-8736)
Reactive API
The first implementation of our new Reactive API have been merged. This is still work in progress and the API will receive major changes until the Final release. The new API includes a new API module and a new KeyValueStore Hot Rod client where search, continuous search and Key Value store methods are included.
Cross-Site Replication
Async mode cross-site replication received 2 major improvements:
-
async mode is now able to detect disconnections between sites and bring the site offline based on <take-offline> configuration (ISPN-10180)
-
track and exposes the average replication times for asynchronous requests (ISPN-9457)
Non-blocking
-
Non-blocking Hot Rod authentication (ISPN-9841)
-
Non-blocking REST endpoint (ISPN-10210)
-
Update internal remote listener code to support non blocking (ISPN-9716)
-
Update internal embedded listeners to be non blocking (ISPN-9715)
Removal/deprecations
A new major release is also an opportunity to do some house cleaning.
Deprecations
-
Deprecate GridFileSystem and org.infinispan.io stream implementations (ISPN-10298)
-
Deprecated Total Order transaction mode (ISPN-10259)
Removals
-
AtomicMap implementations removed (ISPN-10230)
-
Remove deprecated org.infinispan.io classes (ISPN-10297)
-
Remove org.infinispan.tools.ConfigurationConverter (ISPN-10231)
-
Remove compatibility mode (ISPN-10370)
If you are curious you can read the detailed release notes including all fixed issues. As usual you can ask questions on the forum, StackOverflow and interactively on our Zulip Chat. Please report any bugs you find on our Issue Tracker. Going back to our three-week schedule, our next release will be Beta5, three weeks from now.
Tags: beta release
Monday, 04 March 2019
First OpenShift Operator pre-release for Infinispan is here!
Infinispan Operator is a new method of packaging, deploying and managing Infinispan clusters on OpenShift. You can think of the Infinispan Operator as the runtime that manages Infinispan clusters on OpenShift.
We’ve just done our first Infinispan Operator pre-release, version 0.1.0, which allows you to easily boot up an Infinispan cluster on OpenShift.
Using the operator is as simple as installing the Infinispan Operator (requires admin access) on OpenShift, and then create a YAML descriptor that defines the Infinispan cluster. The example below shows how to create a 3-node Infinispan cluster:
And then call:
$ oc apply -f example-infinispan.yaml
A more detailed tutorial on using the Infinispan Operator can be found here. We highly recommend you give it a go and let us know what you think.
Over the next few versions we’ll be adding more features that make the most of the capabilities the Operator framework offers to automatically manage the health and status of running Infinispan clusters.
Please also note that as we work towards the 1.0 release, some things might change :)
Cheers Galder
Tags: release openshift operator beta
Tuesday, 04 September 2018
Infinispan Spring Boot Beta2 is out!
Dear Infinispan and Spring Boot users,
We have just released Infinispan Spring Boot 2.0.0.Beta2.
Highlights of this release include:
-
Upgrade to Spring Boot 2.0.3.RELEASE
-
RemoteCache can be injected now. Example here
You can find the 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
Tags: release spring boot spring beta
Friday, 03 August 2018
Infinispan 9.4.0.Beta1 is out!
Infinispan users,
We have just released 9.4.0.Beta1 which includes bug fixes and improvements. Highlights of this release include:
Removal of WebSocket server support (ISPN-9386);
One step closer to remove compatibility mode, by dropping it from Remote Queries, Tasks and Scripts (ISPN-9180, ISPN-9182)
Recovery Support for Hot Rod client transactions (ISPN-9261)
Fixed issue with Hot Rod client near cache for async operations (ISPN-9393)
Improvements in Ickle (ISPN-9378)
Additional Segmented Stores
RocksDB supports single database segmentation (ISPN-9375)
RemoteStore segmented for additional stream performance (ISPN-9376)
RocksDB now allows for properties to be provided to configure underlying database (ISPN-9371)
Component Upgrades:
Other bug fixes.
The full list of 9.4.0.Beta1 fixes are here.
You can find both releases on our download page. 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 beta
Monday, 18 December 2017
Infinispan 9.2.0.Beta2 Released
Dear Infinispan Community,
We’re excited to announce the release of Infinispan 9.2.0.Beta2, which can be found on our download page.
The highlights of 9.2.0.Beta2 are:
-
MultiMaps are now available over hotrod [ISPN-7887].
-
Clustered Counters are now available in the server and can be managed via the management api [SPN-8376] or the web console [ISPN-7927].
-
Biased reads in scattered cache [ISPN-8458].
-
Conflict resolution on partition merges are now implemented for DENY_READ_WRITES and ALLOW_READS strategies [ISPN-8440].
Full details of the new features and enhancements included in this release can be found here. Thank you for following us and stay tuned!
The Infinispan Team
Tags: release beta
Monday, 19 June 2017
Infinispan 9.1.0.Beta1
Dear Infinispan Community,
the Infinispan 9.1.0.Beta1 is out and can be found on our downloads page.
Full details of the new features and enhancements included in this release can be found here.
Short list of highlights:
-
[ISPN-7114] Consistency Checker, Conflict Resolution and Automatic merge policies
-
[ISPN-5218] Batching for CacheStores
-
[ISPN-7896] On-demand data conversion in caches
-
[ISPN-6676] HTTP/2 suport in the REST endpoint with TLS/ALPN upgrade
-
[ISPN-7841] Add stream operations that can operate upon data exclusively
-
[ISPN-7868] Add encryption and authentication support to the Remote Store
-
[ISPN-7772] Hot Rod Client create/remove cache operations
-
[ISPN-6994] Add an AdvancedCache.withSubject(Subject) method for explicit impersonation
-
[ISPN-7803] Functional commands-based AtomicMaps
-
The usual slew of bug fixes, clean ups and general improvements.
As usual, we will be blogging about each feature and improvement.
Always consult the Upgrading guide to see what has changed. thank you for following us and stay tuned! The Infinispan Team
Tags: beta release
Wednesday, 15 February 2017
Spring Boot Starters 1.0.0.Beta1
I’m happy to announce Spring Boot Starters 1.0.0.Beta1.
The changelog includes:
-
Fixed hotrod-client.properties path (now it uses classpath:hotrod-client.properties)
-
ISPN-7468 Added Spring Cache automatic discovery and creation
-
Fixed typo in artifact name
-
Upgraded to the latest artifact versions
-
Removed deprecated classes from tests
Grab them while they are hot!
Tags: spring boot release beta
Monday, 05 December 2016
Infinispan 9.0.0.Beta1 "Ruppaner"
It took us quite a bit to get here, but we’re finally ready to announce Infinispan 9.0.0.Beta1, which comes loaded with a ton of goodies.
Performance improvements
-
JGroups 4
-
A new algorithm for non-transactional writes (aka the Triangle) which reduces the number of RPCs required when performing writes
-
A new faster internal marshaller which produced smaller payloads.
-
A new asynchronous interceptor core
Off-Heap support
-
Avoid the size of the data in the caches affecting your GC times
CaffeineMap-based bounded data container
-
Superior performance
-
More reliable eviction
Ickle, Infinispan’s new query language
-
A limited yet powerful subset of JPQL
-
Supports full-text predicates
The Server Admin console now supports both Standalone and Domain modes
Pluggable marshallers for Kryo and ProtoStuff
The LevelDB cache store has been replaced with the better-maintained and faster RocksDB
Spring Session support
Upgraded Spring to 4.3.4.RELEASE
We will be blogging about the above in detail over the coming weeks, including benchmarks and tutorials.
The following improvements were also present in our previous Alpha releases:
Graceful clustered shutdown / restart with persistent state
Support for streaming values over Hot Rod, useful when you are dealing with very large entries
Cloud and Containers
-
Out-of-the box support for Kubernetes discovery
Cache store improvements
-
The JDBC cache store now use transactions and upserts. Also the internal connection pool is now based on HikariCP
Also, our documentation has received a big overhaul and we believe it is vastly superior than before.
There will be one more Beta including further performance improvements as well as additional features, so stay tuned.
Infinispan 9 is codenamed "Ruppaner" in honor of the Konstanz brewery, since many of the improvements of this release have been brewed on the shores of the Bodensee !
Prost!
Tags: beta release marshalling off-heap performance query
Wednesday, 17 February 2016
Infinispan 8.2.0.Beta2 and 8.1.2.Final
Dear Infinispan community,
we’re proud to announce two fresh releases today. First off is 8.2.0.Beta2, from our development branch. It is packed with a bunch of goodies:
-
lots of enhancements and additions to the administration console for Infinispan Server, such as cluster event views, task management, container administration and deployments. Some of these will be further refined before the upcoming Final release. If you prefer to manage your servers from the good ol' command-line, the CLI commands have also been similarly enhanced.
-
performance improvements for clustered reads, bulk and stream ops, and a sensible reduction in memory allocation rate. More improvements will come as we are rewriting some parts of the core to allow further optimizations.
-
a new distributed executor, ClusterExecutor which does not require an existing distributed cache and which comes complete with Java 8 goodness such as CompletableFutures and lambda support. This nicely complements our existing Streams support.
-
a new, experimental index manager to store indexes on Infinispan with better scalability and indexing throughput. Additionally we’ve upgraded Lucene to 5.4.1 and Hibernate Search to 5.6.0.Alpha1
-
the ability to indicate a number of nodes for initial cluster formation
-
lots of bug fixes
We’re still on track for a Final release at the end of the month.
We’ve also been fixing bugs in our stable 8.1 stream, which means we have a freshly released 8.1.2.Final.
Check out the development release notes, the stable release notes, download the releases and tell us all about it on the forum, on our issue tracker or on IRC on the #infinispan channel on Freenode.
Tags: beta release