adjust logs

This commit is contained in:
chrislu 2023-09-21 23:51:32 -07:00
parent 3e23421608
commit 2df70ce95f
2 changed files with 24 additions and 17 deletions

View file

@ -64,12 +64,14 @@ func (lt *LockTable[T]) AcquireLock(intention string, key T, lockType LockType)
// If the lock is held exclusively, wait // If the lock is held exclusively, wait
entry.mu.Lock() entry.mu.Lock()
if len(entry.waiters) > 0 || lockType == ExclusiveLock { if len(entry.waiters) > 0 || lockType == ExclusiveLock {
glog.V(4).Infof("ActiveLock %d %s wait for %+v type=%v with waiters %d active %d.\n", lock.ID, lock.intention, key, lockType, len(entry.waiters), entry.activeLockOwnerCount) if glog.V(4) {
if glog.V(4) && len(entry.waiters) > 0 { fmt.Printf("ActiveLock %d %s wait for %+v type=%v with waiters %d active %d.\n", lock.ID, lock.intention, key, lockType, len(entry.waiters), entry.activeLockOwnerCount)
for _, waiter := range entry.waiters { if len(entry.waiters) > 0 {
fmt.Printf(" %d", waiter.ID) for _, waiter := range entry.waiters {
fmt.Printf(" %d", waiter.ID)
}
fmt.Printf("\n")
} }
fmt.Printf("\n")
} }
entry.waiters = append(entry.waiters, lock) entry.waiters = append(entry.waiters, lock)
if lockType == ExclusiveLock { if lockType == ExclusiveLock {
@ -91,12 +93,14 @@ func (lt *LockTable[T]) AcquireLock(intention string, key T, lockType LockType)
// Otherwise, grant the lock // Otherwise, grant the lock
entry.lockType = lockType entry.lockType = lockType
glog.V(4).Infof("ActiveLock %d %s locked %+v type=%v with waiters %d active %d.\n", lock.ID, lock.intention, key, lockType, len(entry.waiters), entry.activeLockOwnerCount) if glog.V(4) {
if glog.V(4) && len(entry.waiters) > 0 { fmt.Printf("ActiveLock %d %s locked %+v type=%v with waiters %d active %d.\n", lock.ID, lock.intention, key, lockType, len(entry.waiters), entry.activeLockOwnerCount)
for _, waiter := range entry.waiters { if len(entry.waiters) > 0 {
fmt.Printf(" %d", waiter.ID) for _, waiter := range entry.waiters {
fmt.Printf(" %d", waiter.ID)
}
fmt.Printf("\n")
} }
fmt.Printf("\n")
} }
entry.mu.Unlock() entry.mu.Unlock()
@ -129,12 +133,14 @@ func (lt *LockTable[T]) ReleaseLock(key T, lock *ActiveLock) {
delete(lt.locks, key) delete(lt.locks, key)
} }
glog.V(4).Infof("ActiveLock %d %s unlocked %+v type=%v with waiters %d active %d.\n", lock.ID, lock.intention, key, entry.lockType, len(entry.waiters), entry.activeLockOwnerCount) if glog.V(4) {
if len(entry.waiters) > 0 { fmt.Printf("ActiveLock %d %s unlocked %+v type=%v with waiters %d active %d.\n", lock.ID, lock.intention, key, entry.lockType, len(entry.waiters), entry.activeLockOwnerCount)
for _, waiter := range entry.waiters { if len(entry.waiters) > 0 {
fmt.Printf(" %d", waiter.ID) for _, waiter := range entry.waiters {
fmt.Printf(" %d", waiter.ID)
}
fmt.Printf("\n")
} }
fmt.Printf("\n")
} }
entry.activeLockOwnerCount-- entry.activeLockOwnerCount--

View file

@ -1,6 +1,7 @@
package util package util
import ( import (
"fmt"
"math/rand" "math/rand"
"sync" "sync"
"testing" "testing"
@ -26,14 +27,14 @@ func TestOrderedLock(t *testing.T) {
lock := lt.AcquireLock("", key, lockType) lock := lt.AcquireLock("", key, lockType)
// Lock acquired, perform some work // Lock acquired, perform some work
glog.V(4).Infof("ActiveLock %d acquired the lock.\n", lock.ID) fmt.Printf("ActiveLock %d acquired lock %v\n", lock.ID, lockType)
// Simulate some work // Simulate some work
time.Sleep(time.Duration(rand.Int31n(10)*10) * time.Millisecond) time.Sleep(time.Duration(rand.Int31n(10)*10) * time.Millisecond)
// Release the lock // Release the lock
lt.ReleaseLock(key, lock) lt.ReleaseLock(key, lock)
glog.V(4).Infof("ActiveLock %d released the lock.\n", lock.ID) fmt.Printf("ActiveLock %d released lock %v\n", lock.ID, lockType)
}(i) }(i)
} }