JBoss Community Archive (Read Only)

Infinispan 5.2


READ_COMMITTED is one of two isolation levels the Infinispan's locking infrastructure provides (the other is REPEATABLE READ). Isolation levels have their origins in relational databases.

In Infinispan, READ_COMMITTED works slightly differently to databases. READ_COMMITTED says that "data can be read as long as there is no write", however in Infinispan, reads can happen anytime thanks to Multiversion Concurrency Control (MVCC). MVCC allows writes to happen on copies of data, rather than on the data itself. Thus, even in the presence of a write, reads can still occur, and all read operations in Infinispan are non-blocking (resulting in increased performance for the end user). On the other hand, write operations are exclusive in Infinispan, (and so work the same way as READ_COMMITTED does in a database).

With READ_COMMITTED, multiple reads of the same key within a transaction can return different results, and this phenomenon is known as non-repeatable reads. This issue is avoided with REPETEABLE_READ isolation level.

By default, Infinispan uses READ_COMMITTED as isolation level.

JBoss.org Content Archive (Read Only), exported from JBoss Community Documentation Editor at 2020-03-11 09:20:56 UTC, last content change 2011-07-24 15:22:06 UTC.