mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2025-09-23 02:43:34 +08:00
Fix Filer Sync Issue: 5455 (#5663)
This commit is contained in:

committed by
GitHub

parent
889ff9e7fe
commit
1caa012a76
@@ -63,6 +63,7 @@ type FilerOptions struct {
|
|||||||
diskType *string
|
diskType *string
|
||||||
allowedOrigins *string
|
allowedOrigins *string
|
||||||
exposeDirectoryData *bool
|
exposeDirectoryData *bool
|
||||||
|
joinExistingFiler *bool
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
@@ -95,6 +96,7 @@ func init() {
|
|||||||
f.diskType = cmdFiler.Flag.String("disk", "", "[hdd|ssd|<tag>] hard drive or solid state drive or any tag")
|
f.diskType = cmdFiler.Flag.String("disk", "", "[hdd|ssd|<tag>] hard drive or solid state drive or any tag")
|
||||||
f.allowedOrigins = cmdFiler.Flag.String("allowedOrigins", "*", "comma separated list of allowed origins")
|
f.allowedOrigins = cmdFiler.Flag.String("allowedOrigins", "*", "comma separated list of allowed origins")
|
||||||
f.exposeDirectoryData = cmdFiler.Flag.Bool("exposeDirectoryData", true, "whether to return directory metadata and content in Filer UI")
|
f.exposeDirectoryData = cmdFiler.Flag.Bool("exposeDirectoryData", true, "whether to return directory metadata and content in Filer UI")
|
||||||
|
f.joinExistingFiler = cmdFiler.Flag.Bool("joinExistingFiler", false, "enable if new filer wants to join existing cluster")
|
||||||
|
|
||||||
// start s3 on filer
|
// start s3 on filer
|
||||||
filerStartS3 = cmdFiler.Flag.Bool("s3", false, "whether to start S3 gateway")
|
filerStartS3 = cmdFiler.Flag.Bool("s3", false, "whether to start S3 gateway")
|
||||||
@@ -262,6 +264,7 @@ func (fo *FilerOptions) startFiler() {
|
|||||||
DownloadMaxBytesPs: int64(*fo.downloadMaxMBps) * 1024 * 1024,
|
DownloadMaxBytesPs: int64(*fo.downloadMaxMBps) * 1024 * 1024,
|
||||||
DiskType: *fo.diskType,
|
DiskType: *fo.diskType,
|
||||||
AllowedOrigins: strings.Split(*fo.allowedOrigins, ","),
|
AllowedOrigins: strings.Split(*fo.allowedOrigins, ","),
|
||||||
|
JoinExistingFiler: *fo.joinExistingFiler,
|
||||||
})
|
})
|
||||||
if nfs_err != nil {
|
if nfs_err != nil {
|
||||||
glog.Fatalf("Filer startup error: %v", nfs_err)
|
glog.Fatalf("Filer startup error: %v", nfs_err)
|
||||||
|
@@ -74,6 +74,7 @@ type FilerOption struct {
|
|||||||
DiskType string
|
DiskType string
|
||||||
AllowedOrigins []string
|
AllowedOrigins []string
|
||||||
ExposeDirectoryData bool
|
ExposeDirectoryData bool
|
||||||
|
JoinExistingFiler bool
|
||||||
}
|
}
|
||||||
|
|
||||||
type FilerServer struct {
|
type FilerServer struct {
|
||||||
@@ -197,6 +198,9 @@ func NewFilerServer(defaultMux, readonlyMux *http.ServeMux, option *FilerOption)
|
|||||||
|
|
||||||
existingNodes := fs.filer.ListExistingPeerUpdates()
|
existingNodes := fs.filer.ListExistingPeerUpdates()
|
||||||
startFromTime := time.Now().Add(-filer.LogFlushInterval)
|
startFromTime := time.Now().Add(-filer.LogFlushInterval)
|
||||||
|
if option.JoinExistingFiler {
|
||||||
|
startFromTime = time.Time{}
|
||||||
|
}
|
||||||
if isFresh {
|
if isFresh {
|
||||||
glog.V(0).Infof("%s bootstrap from peers %+v", option.Host, existingNodes)
|
glog.V(0).Infof("%s bootstrap from peers %+v", option.Host, existingNodes)
|
||||||
if err := fs.filer.MaybeBootstrapFromPeers(option.Host, existingNodes, startFromTime); err != nil {
|
if err := fs.filer.MaybeBootstrapFromPeers(option.Host, existingNodes, startFromTime); err != nil {
|
||||||
|
Reference in New Issue
Block a user