Browse Source

adjust logs

pull/4859/head
chrislu 1 year ago
parent
commit
7669852241
  1. 7
      weed/util/lock_table.go
  2. 5
      weed/util/lock_table_test.go

7
weed/util/lock_table.go

@ -2,6 +2,7 @@ package util
import ( import (
"fmt" "fmt"
"github.com/seaweedfs/seaweedfs/weed/glog"
"sync" "sync"
"sync/atomic" "sync/atomic"
) )
@ -63,7 +64,7 @@ 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 {
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)
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 len(entry.waiters) > 0 { if len(entry.waiters) > 0 {
for _, waiter := range entry.waiters { for _, waiter := range entry.waiters {
fmt.Printf(" %d", waiter.ID) fmt.Printf(" %d", waiter.ID)
@ -90,7 +91,7 @@ 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
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)
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 len(entry.waiters) > 0 { if len(entry.waiters) > 0 {
for _, waiter := range entry.waiters { for _, waiter := range entry.waiters {
fmt.Printf(" %d", waiter.ID) fmt.Printf(" %d", waiter.ID)
@ -128,7 +129,7 @@ func (lt *LockTable[T]) ReleaseLock(key T, lock *ActiveLock) {
delete(lt.locks, key) delete(lt.locks, key)
} }
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)
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 len(entry.waiters) > 0 { if len(entry.waiters) > 0 {
for _, waiter := range entry.waiters { for _, waiter := range entry.waiters {
fmt.Printf(" %d", waiter.ID) fmt.Printf(" %d", waiter.ID)

5
weed/util/lock_table_test.go

@ -1,7 +1,6 @@
package util package util
import ( import (
"fmt"
"math/rand" "math/rand"
"sync" "sync"
"testing" "testing"
@ -27,14 +26,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
fmt.Printf("ActiveLock %d acquired the lock.\n", lock.ID)
glog.V(4).Infof("ActiveLock %d acquired the lock.\n", lock.ID)
// 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)
fmt.Printf("ActiveLock %d released the lock.\n", lock.ID)
glog.V(4).Infof("ActiveLock %d released the lock.\n", lock.ID)
}(i) }(i)
} }

Loading…
Cancel
Save