If you log in
with your developerWorks ID, you can leave comments and feedback for the development team.
| Component |
ObjectGrid Core API |
| Software Version |
6.1 |
Problem
Several locking issues were discovered for the pessimistic locking strategy.
The following issues exist:
- After a lock promotion times out, all lock requests for that entry time out.
- A cache miss results in an exclusive lock being obtained at commit time, when no lock promotion should occur. This problem could cause two read transactions with cache misses for the same entry to get a LockTimeoutException exception at commit time.
- If an entry is removed or a cache miss occurs, two transactions might get the same upgradeable or exclusive lock. This problem results in data integrity issues where two threads have access to an entry. Only one of the threads should have access to the entry because of the contract of upgradeable and exclusive locks.
Cause
- When a lock promotion failed, the lock was not reset to its previous state before the promotion.
- A cache miss was not recognized as a read-only operation that does not require an exclusive lock during commit processing.
- The internal locking code did not handle the removal and insertion of the same object correctly.
Solution
Apply ObjectGrid cumulative intermediate fix 3.
© Copyright IBM Corporation 2007,2010. All Rights Reserved.