15.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 demonstrated in the following procedure.

Procedure 15.1. Configure Lock Striping (Library Mode)

<infinispan>
	<!-- Additional configuration elements here -->
	<default>
	
		<locking concurrencyLevel="${VALUE}"
			 isolationLevel="${LEVEL}"
			 lockAcquisitionTimeout="${TIME}"
			 useLockStriping="${TRUE/FALSE}"
			 writeSkewCheck="${TRUE/FALSE}" />
		<!-- Additional configuration elements here -->
	</default>
</infinispan>
  1. The concurrencyLevel is used to specify the size of the shared lock collection use when lock striping is enabled.
  2. The isolationLevel parameter specifies the cache's isolation level. Valid isolation levels are READ_COMMITTED and REPEATABLE_READ.
  3. The lockAcquisitionTimeout parameter specifies time (in milliseconds) after which a lock acquisition attempt times out.
  4. 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.
  5. 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. The writeSkewCheck parameter can be only used with OPTIMISTIC transactions and it requires entry versioning to be enabled, with SIMPLE versioning scheme.