11.3. Configure Lock Striping (Library Mode)
Lock striping is disabled by default in Red Hat JBoss Data Grid. Configure lock striping in JBoss Data Grid's Library mode using the
useLockStriping
parameter as follows:
<infinispan> ... <default> <locking concurrencyLevel="${VALUE}" isolationLevel="${LEVEL}" lockAcquisitionTimeout="${TIME}" useLockStriping="${TRUE/FALSE}" writeSkewCheck="${TRUE/FALSE}" /> ... </default> </infinispan>
The
useLockStriping
parameter specifies whether a pool of shared locks are maintained for all entries that require locks. If set to FALSE
, locks are created for each entry in the cache. If set to TRUE
, lock striping is enabled and shared locks are used as required from the pool.
The
concurrencyLevel
is used to specify the size of the shared lock collection use when lock striping is enabled.
The
isolationLevel
parameter specifies the cache's isolation level. Valid isolation levels are READ_COMMITTED
and REPEATABLE_READ
.
The
lockAcquisitionTimeout
parameter specifies time (in milliseconds) after which a lock acquisition attempt times out.
The
writeSkewCheck
check determines if a modification to the entry from a different transaction should roll back the transaction. Write skew set to true requires isolation_level
set to REPEATABLE_READ
. The default value for writeSkewCheck
and isolation_level
are FALSE
and READ_COMMITTED
respectively.