Skip to main content
 
developerworks > Community >  Dashboard > WebSphere eXtreme Scale V6.1 User Guide > ... > ObjectGrid 6.1 cumulative fix 3 contents > Pessmistic locking problems
developerWorks
Log In   View a printable version of the current page.
Overview New to Forums Wikis
Pessmistic locking problems
Added by jhanders, last edited by Chris.D.Johnson on Dec 18, 2007  (view change)
Labels: 
(None)

Getting Started Examples Reference API documentation
See the WebSphere eXtreme Scale Wiki for links to up-to-date eXtreme Scale Version 7.x documentation.

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:

  1. After a lock promotion times out, all lock requests for that entry time out.
  2. 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.
  3. 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

  1. When a lock promotion failed, the lock was not reset to its previous state before the promotion.
  2. A cache miss was not recognized as a read-only operation that does not require an exclusive lock during commit processing.
  3. The internal locking code did not handle the removal and insertion of the same object correctly.

Solution

Apply ObjectGrid cumulative intermediate fix 3.

Wiki Disclaimer and License
© Copyright IBM Corporation 2007,2010. All Rights Reserved.