diff options
| author | chrislu <chris.lu@gmail.com> | 2022-05-30 21:27:48 -0700 |
|---|---|---|
| committer | chrislu <chris.lu@gmail.com> | 2022-05-30 21:27:48 -0700 |
| commit | 6adc42147f972d2adc223e119c0f97094b3f0bec (patch) | |
| tree | 612b97df88eaf0e29b37b56f918fba23adbccb72 /weed/server/filer_server.go | |
| parent | 490e0850bff7a7fea3d9dd35e2761371a743ec4e (diff) | |
| download | seaweedfs-6adc42147f972d2adc223e119c0f97094b3f0bec.tar.xz seaweedfs-6adc42147f972d2adc223e119c0f97094b3f0bec.zip | |
fresh filer store bootstrap from the oldest peer
Diffstat (limited to 'weed/server/filer_server.go')
| -rw-r--r-- | weed/server/filer_server.go | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/weed/server/filer_server.go b/weed/server/filer_server.go index b52baf9c9..d2c1d67f5 100644 --- a/weed/server/filer_server.go +++ b/weed/server/filer_server.go @@ -151,7 +151,7 @@ func NewFilerServer(defaultMux, readonlyMux *http.ServeMux, option *FilerOption) // TODO deprecated, will be be removed after 2020-12-31 // replaced by https://github.com/chrislusf/seaweedfs/wiki/Path-Specific-Configuration // fs.filer.FsyncBuckets = v.GetStringSlice("filer.options.buckets_fsync") - fs.filer.LoadConfiguration(v) + isFresh := fs.filer.LoadConfiguration(v) notification.LoadConfiguration(v, "notification.") @@ -165,8 +165,14 @@ func NewFilerServer(defaultMux, readonlyMux *http.ServeMux, option *FilerOption) } existingNodes := fs.filer.ListExistingPeerUpdates() - - fs.filer.AggregateFromPeers(option.Host, existingNodes) + startFromTime := time.Now().Add(-filer.LogFlushInterval) + if isFresh { + glog.V(0).Infof("%s bootstrap from peers %+v", option.Host, existingNodes) + if err := fs.filer.MaybeBootstrapFromPeers(option.Host, existingNodes, startFromTime); err == nil { + glog.Fatalf("%s bootstrap from %+v", option.Host, existingNodes) + } + } + fs.filer.AggregateFromPeers(option.Host, existingNodes, startFromTime) fs.filer.LoadBuckets() |
