The Dynamo Administration Interface pages for the ClientLockManager and ServerLockManager components each allow you to view the state of the internal tables for each lock entry. To view this information, click the Display lock table link under the Service Info heading.

The lock table for a ClientLockManager displays the following columns:

Key

The identity of the lock

Read owned

Does this process have a read lock on that key? Note that multiple processes can simultaneously have the read lock but when one process has a read lock, no other process will have the write lock.

Write owned

Does this process have the write lock on that key?

Read/write requested

Has another process requested this read/write lock? Each process first goes to the ServerLockManager. The ServerLockManager sends out the read/write request to each client that owns the lock for that key when necessary. This is only set when read or write owned are set to true and there are active lock owners that conflict with the lock requested (i.e. a write lock is requested when this process has a thread with active read ownership).

Globally owned

This is true if there is an active read or write lock and if the lock was acquired via the ServerLockManager. If the ServerLockManager becomes unavailable, each process will still give out locks but will return the Globally owned flag as false, indicating that this lock is only good for this process. The SQL repository uses this flag to disable caching.

Write owner

Set to the thread that owns this lock in this process. There can be only one.

Read owners

Set to the threads that own this lock in this process. There can be more than one.

Read/write waiters

The list of threads that are waiting for this lock.

The lock table for a ServerLockManager is similar but in that case the lock owners are actually the processes, not the threads within a process.

 
loading table of contents...