aboutsummaryrefslogtreecommitdiff
path: root/weed/server/filer_server.go
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2020-07-06 09:24:54 -0700
committerChris Lu <chris.lu@gmail.com>2020-07-06 09:24:54 -0700
commitd198e8c6d65d5b135a481f36004769b152583c7d (patch)
tree7f69c276989c3f2b55f453975f3e3109fef91e88 /weed/server/filer_server.go
parent0b8cc9b626708f3559b143826836b65ee3bf5472 (diff)
downloadseaweedfs-d198e8c6d65d5b135a481f36004769b152583c7d.tar.xz
seaweedfs-d198e8c6d65d5b135a481f36004769b152583c7d.zip
filer: support cross filer meta data sync if sharing the same store
Diffstat (limited to 'weed/server/filer_server.go')
-rw-r--r--weed/server/filer_server.go11
1 files changed, 10 insertions, 1 deletions
diff --git a/weed/server/filer_server.go b/weed/server/filer_server.go
index 6baf8f1b8..c6c16d0c2 100644
--- a/weed/server/filer_server.go
+++ b/weed/server/filer_server.go
@@ -5,6 +5,7 @@ import (
"fmt"
"net/http"
"os"
+ "strings"
"sync"
"time"
@@ -86,9 +87,17 @@ func NewFilerServer(defaultMux, readonlyMux *http.ServeMux, option *FilerOption)
fs.filer = filer2.NewFiler(option.Masters, fs.grpcDialOption, option.Host, option.Port, option.Collection, option.DefaultReplication, func() {
fs.listenersCond.Broadcast()
})
- fs.metaAggregator = filer2.NewMetaAggregator(append(option.Filers, fmt.Sprintf("%s:%d", option.Host, option.Port)), fs.grpcDialOption)
fs.filer.Cipher = option.Cipher
+ // set peers
+ if strings.HasPrefix(fs.filer.GetStore().GetName(), "leveldb") && len(option.Filers) > 0 {
+ glog.Fatal("filers using separate leveldb stores should not configure peers!")
+ }
+ if len(option.Filers) == 0 {
+ option.Filers = append(option.Filers, fmt.Sprintf("%s:%d", option.Host, option.Port)
+ }
+ fs.metaAggregator = filer2.NewMetaAggregator(option.Filers, fs.grpcDialOption)
+
maybeStartMetrics(fs, option)
go fs.filer.KeepConnectedToMaster()