mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-10-05 14:02:00 +02:00
testutil: choose lower ephemeral ports (<55535) to avoid overflow in master/raft port math
This commit is contained in:
1 parent
23d9e86361
commit
e6c8ee2f1c
1 file changed
+13
-6
@@ -75,14 +75,21 @@ func StartServer(config ServerConfig) (*TestServer, error) {
|
||||
}
|
||||
|
||||
// choose free ports for master, volume, filer and metrics to avoid collisions
|
||||
// pick a free port but avoid very large ephemeral ports that can overflow
|
||||
// internal port math (keep below 55535)
|
||||
pick := func() int {
|
||||
l, err := net.Listen("tcp", "127.0.0.1:0")
|
||||
if err != nil {
|
||||
return 0
|
||||
for i := 0; i < 10; i++ {
|
||||
l, err := net.Listen("tcp", "127.0.0.1:0")
|
||||
if err != nil {
|
||||
continue
|
||||
}
|
||||
p := l.Addr().(*net.TCPAddr).Port
|
||||
l.Close()
|
||||
if p > 1024 && p < 55535 {
|
||||
return p
|
||||
}
|
||||
}
|
||||
p := l.Addr().(*net.TCPAddr).Port
|
||||
l.Close()
|
||||
return p
|
||||
return 0
|
||||
}
|
||||
|
||||
masterPort := pick()
|
||||
|
||||
Reference in new issue
Block a user