The trip then continued in Lisbon where we meet the CloudTM team for two good days of hacking and brainstorming. The results are a set of awesome features the CloudTM is about to contribute to Infinispan, especially around transactions:
- Total Order Broadcast (TOB) - is a transaction protocol for replicated caches built on atomic broadcast. It relies on JGroups' SEQUENCER protocol for achieving total order. The benchmarks ran comparing it with the current 2PC based transaction protocol are rather promising and we hope to integrated it in our 5.2 release
- Total Order Multicast (TOM) - is simplistically put TOB for distributed caches. This is the next in pipe after TOB to be integrated. Again, preliminary performance comparisons look rather promising
- The CloudTM also extended Infinispan's transactions to support one-copy serializability (that's a fancy name for SERIALIZABLE transactions in replicated systems). The implementation is based on keeping multiple data version of data for each entry together with some housekeeping code. More on this to come!
Big thanks to CloudTM team for their effort and all the great ideas (and patches!!) they submitted to Infinispan! It was a great meeting with very good results and burning whiteboards (see below)!