William Burns

Will is a core Infinispan engineer. He enjoys streaming data and writing reactive code.

15 posts

Fast, Non-Blocking Conflict Resolution with Merkle Trees

October 20, 2026

Network partitions are an unfortunate reality when operating a distributed data grid—right up there with TCP retransmits and the discovery that your "five nines" availability calculation didn’t account for leap seconds. When a network split occurs, different partition...

Beyond Per-Cache Eviction

June 16, 2026

Per-cache memory limits Up until now, Infinispan has required you to configure memory bounds for each cache individually. You decide how much memory each cache is allowed to consume, and the eviction machinery enforces those limits independently. Suppose you have a node w...

Infinispan Java Hot Rod client pool rework

November 26, 2024

Infinispan 15.1 will be shipping a new default Hot Rod client implementation. This implementation completely overhauls the "pool" implementation and adds many internal code optimizations and reductions. An overview of the changes Remove ChannelPool implementation, repla...

Infinispan 14.0.0.Dev04

July 14, 2022

Dear Infinispan community, Infinispan 14 development release 04 is here! We are nearing the final release of Infinispan 14 Final, so we want to share a preview of what’s coming. HotRod 4.0 Protocol With the addition of the new API that was released in the prev...

Non Blocking Journey

August 31, 2020

As many you are probably aware recent trends have shown that making applications non blocking provides quite a few benefits allowing for greater scalability with less resources. Infinispan has been written and rewriting parts to take advantage of this as we can for both emb...

Off Heap enhancements

June 09, 2020

The off heap implementation in Infinispan has become much more widely used since its introduction. There have been some issues and improvements identified to get this storage type more in line with its heap counterpart. For those of you that are unware the off-heap setting ...

Subatomic Infinispan Client

March 07, 2019

Today, the Quarkus project was released as a public beta. https://quarkus.io/ For those of you not familiar, Quarkus allows you to write your enterprise apps as you have done in the past with Hibernate/JAX-RS, but also to compile these applications to a Graal-VM native image....

Segmented Data Containers: Distributed Stream Performance Boost

October 02, 2018

Welcome to the first of several blog posts that describe the segmentation of containers that Infinispan uses to store data. Some of you may have noticed in the previous 9.3.0.Final notes that we announced a new feature named “Segmented On-Heap Data Container”. We also mentio...

Distributed iteration improvements

February 19, 2018

Infinispan hasn’t always provided a way for iterating upon entries in a distributed cache. In fact the first iteration wasn’t until Infinispan 7. Then in Infinispan 8, with the addition of Java 8, we fully integrated this into distributed streams, which brought so...

Data Container Changes Part 3

February 08, 2018

Just over a year ago we detailed some improvements to the data container, including the availability of Off Heap storage in part 2. There have been quite a few fixes for Off Heap especially around memory size estimations with Infinispan 9.2. There is also a brand new "evictio...

Executing Code in the Grid

February 01, 2018

Infinispan has quite a few spectacular ways of executing code in the grid. But I bet you haven’t heard or aren’t really familiar with those, which is disappointing. I hope to fix this, however, as we have added more information to the user guide and wanted to deta...

Don't touch my data stream!

July 03, 2017

In Infinispan 8.0 we were very excited to announce Distributed Streams as we moved to Java 8. This feature allows applying any of the various java.util.stream.Stream operations on the datagrid, which are performed in a distributed nature, providing the highest possible perfor...

Data Container Changes Part 2

January 23, 2017

Before the end of the year I wrote a blog post detailing some of the more recent changes that Infinispan introduced with the in memory data container. As was mentioned in the previous post we would be detailing some other new changes. If you poked around in our new schema af...

Data Container Changes Part 1

December 19, 2016

Infinispan 9.0 Beta 1 introduces some big changes to the Infinispan data container. This is the first of two blog posts detailing those changes. This post will cover the changes to eviction which utilizes a new provider, Caffeine. As you may already know Infinispan has su...

Distributed Stream Quality of Life Improvements

December 06, 2016

As I hope most people reading this already know, since Infinispan 8 you can utilize the entire Java 8 Stream API and have it be distributed across your cluster. This performs the various intermediate and terminal operations on the data local to the node it lives on, providin...