diff options
| author | Chris Lu <chrislusf@users.noreply.github.com> | 2025-10-31 18:29:16 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-31 18:29:16 -0700 |
| commit | f096b067fd2171919810d6e9536e9068b899f7db (patch) | |
| tree | e0ef0f0da07faa130cd4e230d37e143986041097 /weed/command/server.go | |
| parent | 5ab49e29712a8ef9fed723c64b668d7e58675566 (diff) | |
| download | seaweedfs-f096b067fd2171919810d6e9536e9068b899f7db.tar.xz seaweedfs-f096b067fd2171919810d6e9536e9068b899f7db.zip | |
weed master add peers=none option for faster startup (#7419)
* weed master -peers=none
* single master mode only when peers is none
* refactoring
* revert duplicated code
* revert
* Update weed/command/master.go
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* preventing "none" passed to other components if master is not started
---------
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Diffstat (limited to 'weed/command/server.go')
| -rw-r--r-- | weed/command/server.go | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/weed/command/server.go b/weed/command/server.go index f2e2e1b58..8c99d04fd 100644 --- a/weed/command/server.go +++ b/weed/command/server.go @@ -232,10 +232,17 @@ func runServer(cmd *Command, args []string) bool { *isStartingFiler = true } + var actualPeersForComponents string if *isStartingMasterServer { + // If we are starting a master, validate and complete the peer list _, peerList := checkPeers(*serverIp, *masterOptions.port, *masterOptions.portGrpc, *masterOptions.peers) - peers := strings.Join(pb.ToAddressStrings(peerList), ",") - masterOptions.peers = &peers + actualPeersForComponents = strings.Join(pb.ToAddressStrings(peerList), ",") + } else if *masterOptions.peers != "" { + if isSingleMasterMode(*masterOptions.peers) { + glog.Fatalf("'-master.peers=none' is only valid when starting a master server, but master is not starting.") + } + // If not starting a master, just use the provided peers + actualPeersForComponents = *masterOptions.peers } if *serverBindIp == "" { @@ -249,7 +256,8 @@ func runServer(cmd *Command, args []string) bool { // ip address masterOptions.ip = serverIp masterOptions.ipBind = serverBindIp - filerOptions.masters = pb.ServerAddresses(*masterOptions.peers).ToServiceDiscovery() + // Use actualPeersForComponents for volume/filer, not masterOptions.peers which might be "none" + filerOptions.masters = pb.ServerAddresses(actualPeersForComponents).ToServiceDiscovery() filerOptions.ip = serverIp filerOptions.bindIp = serverBindIp if *s3Options.bindIp == "" { @@ -259,11 +267,11 @@ func runServer(cmd *Command, args []string) bool { sftpOptions.bindIp = serverBindIp } iamOptions.ip = serverBindIp - iamOptions.masters = masterOptions.peers + iamOptions.masters = &actualPeersForComponents webdavOptions.ipBind = serverBindIp serverOptions.v.ip = serverIp serverOptions.v.bindIp = serverBindIp - serverOptions.v.masters = pb.ServerAddresses(*masterOptions.peers).ToAddresses() + serverOptions.v.masters = pb.ServerAddresses(actualPeersForComponents).ToAddresses() serverOptions.v.idleConnectionTimeout = serverTimeout serverOptions.v.dataCenter = serverDataCenter serverOptions.v.rack = serverRack |
