add distributed lock manager
This commit is contained in:
@@ -3,6 +3,7 @@ package weed_server
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"github.com/seaweedfs/seaweedfs/weed/cluster/lock_manager"
|
||||
"net/http"
|
||||
"os"
|
||||
"sync"
|
||||
@@ -94,6 +95,9 @@ type FilerServer struct {
|
||||
// track known metadata listeners
|
||||
knownListenersLock sync.Mutex
|
||||
knownListeners map[int32]int32
|
||||
|
||||
// distributed lock manager
|
||||
dlm *lock_manager.LockManager
|
||||
}
|
||||
|
||||
func NewFilerServer(defaultMux, readonlyMux *http.ServeMux, option *FilerOption) (fs *FilerServer, err error) {
|
||||
@@ -181,6 +185,9 @@ func NewFilerServer(defaultMux, readonlyMux *http.ServeMux, option *FilerOption)
|
||||
fs.filer.Shutdown()
|
||||
})
|
||||
|
||||
fs.dlm = lock_manager.NewLockManager()
|
||||
fs.filer.LockRing.SetTakeSnapshotCallback(fs.OnDlmChangeSnapshot)
|
||||
|
||||
return fs, nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user