Implementation of Locking by Using a Store
Earlier locking was implemented as part of the cluster provider: FTL, Ignite, or Legacy ActiveSpaces. Now you can implement locking by using a store. Store-based locking provides a single consistent way of locking irrespective of cluster and store provider combination. Store-based locking can be used in unclustered environments.
Locking Scenarios
To determine which locking implementation is used in the respective scenarios, refer to the following table:
Clustered
| Cluster Provider | Cache | Store | Locking |
|---|---|---|---|
| Apache Ignite | Apache Ignite | Yes | Apache Ignite or Store |
| TIBCO FTL | Apache Ignite | Yes | Apache Ignite or Store |
| TIBCO FTL | NA | Yes |
Store |
Unclustered
In the unclustered mode, if the Store option is selected then the store-based locking is used.
Configuration Properties
On the Cluster tab of the CDD file, to enable store-based locking, configure the following properties.
| Property Name | Property Value | Description |
|---|---|---|
be.engine.store.locking.enabled
|
True or False | Enables or disables the store locking feature. |
be.engine.api.spec.enable
|
True or False | Enables or disables the MemberHealthStatus API. This API is used to determine whether a member is dead or alive. |
be.engine.http.ping.port
|
Port range |
Specifies the port number range on which the MemberHealthStatus API would be available. Specify the lower and upper port range, separated by hyphen ( - ). Example: 8180-8190 |
Apache Ignite Locking Properties
Due to network issues, there may be a failure in locking because of disconnection. To ensure store based locking for Apache Ignite, on the Cluster tab of the CDD file, configure the following properties.
| Property Name | Description |
|---|---|
be.ignite.lock.disconnect.retry.interval
|
Specifies the interval duration to retry locking when disrupted due to disconnection. The default value is 5 seconds. |
be.ignite.lock.disconnect.retry.attempts
|
Specifies the number of attempts allowed to retry locking when disrupted due to disconnection. The default value is 3. |