Beer aside, Brahma is a continuation of the work started with Infinispan 5.0 Pagoa. Some of the key features of Brahma include:
- Overhaul rehashing and state transfer. This codebase will be consolidated and significantly improved, starting with the PUSH based rehashing introduced in Pagoa. Chunking and parallel transfers will also be supported, which will improve the performance and robustness of rehashing/state transfer.
- Improved locking and JTA interactions, including deadlock-minimising reordering and true optimistic and pessimistic modes.
- Versioned entries and an eventually consistent mode and API. Infinispan has always leaned towards consistency in the CAP triangle at the expense of partition tolerance, in line with most Java Data Grids. However, we can very easily also support eventual consistency with partition tolerance, and in Brahma we intend to introduce the versioned API to support this.
- Distributed querying based on parallelising a query task across all nodes in the cluster should also make an appearance, an additional query mode to add to the Lucene index-based querying supported in Pagoa.
In addition to these big features, a number of smaller enhancements and improvements are also planned, including:
- Fine-grained AtomicHashMaps. Anyone using AtomicHashMaps - including Hibernate OGM - will love this!
- Top-level support for JSON documents, including fine-grained replication for deltas in JSON documents.
- Moving off JAXB for configuration parsing, JAXB being too slow and cumbersome to deal with.
So as we come ever closer to releasing Pagoa in its final form, contributors have already started hacking on code for Brahma. Expect to see alphas of Brahma hit the interwebs very soon!