From aef5121c363a030f6457fcc68307f196d67accd8 Mon Sep 17 00:00:00 2001 From: chrislu Date: Tue, 18 Nov 2025 12:06:56 -0800 Subject: [PATCH] faster master startup --- .github/workflows/kafka-tests.yml | 4 ++++ .github/workflows/s3tests.yml | 9 +++++---- .github/workflows/test-s3-over-https-using-awscli.yml | 2 +- test/erasure_coding/ec_integration_test.go | 1 + test/fuse_integration/framework.go | 1 + test/kafka/README.md | 2 +- test/kafka/loadtest/run_million_record_test.sh | 2 +- test/kafka/loadtest/setup_seaweed_infrastructure.sh | 2 +- test/kafka/scripts/test_schema_registry.sh | 2 +- test/mq/README.md | 4 ++-- test/s3/copying/Makefile | 2 +- test/s3/iam/Makefile | 3 ++- test/s3/sse/Makefile | 4 ++-- 13 files changed, 23 insertions(+), 15 deletions(-) diff --git a/.github/workflows/kafka-tests.yml b/.github/workflows/kafka-tests.yml index cc4ef0348..4f4510d04 100644 --- a/.github/workflows/kafka-tests.yml +++ b/.github/workflows/kafka-tests.yml @@ -176,6 +176,7 @@ jobs: -filer.port=8888 \ -filer=true \ -metricsPort=9325 \ + -master.peers=none \ > /tmp/weed-server.log 2>&1 & # Wait for master to be ready @@ -353,6 +354,7 @@ jobs: -filer.port=8888 \ -filer=true \ -metricsPort=9325 \ + -master.peers=none \ > /tmp/weed-server.log 2>&1 & # Wait for master to be ready @@ -512,6 +514,7 @@ jobs: -filer.port=8888 \ -filer=true \ -metricsPort=9325 \ + -master.peers=none \ > /tmp/weed-server.log 2>&1 & # Wait for master to be ready @@ -668,6 +671,7 @@ jobs: -filer.port=8888 \ -filer=true \ -metricsPort=9325 \ + -master.peers=none \ > /tmp/weed-server.log 2>&1 & # Wait for master to be ready diff --git a/.github/workflows/s3tests.yml b/.github/workflows/s3tests.yml index 77b70426f..11327c109 100644 --- a/.github/workflows/s3tests.yml +++ b/.github/workflows/s3tests.yml @@ -64,7 +64,7 @@ jobs: -master.raftHashicorp -master.electionTimeout 1s -master.volumeSizeLimitMB=100 \ -volume.max=100 -volume.preStopSeconds=1 \ -master.port=9333 -volume.port=8080 -filer.port=8888 -s3.port=8000 -metricsPort=9324 \ - -s3.allowEmptyFolder=false -s3.allowDeleteBucketNotEmpty=true -s3.config="$GITHUB_WORKSPACE/docker/compose/s3.json" & + -s3.allowEmptyFolder=false -s3.allowDeleteBucketNotEmpty=true -s3.config="$GITHUB_WORKSPACE/docker/compose/s3.json" -master.peers=none & pid=$! # Wait for all SeaweedFS components to be ready @@ -368,7 +368,7 @@ jobs: -master.raftHashicorp -master.electionTimeout 1s -master.volumeSizeLimitMB=100 \ -volume.max=100 -volume.preStopSeconds=1 \ -master.port=9334 -volume.port=8081 -filer.port=8889 -s3.port=8001 -metricsPort=9325 \ - -s3.allowEmptyFolder=false -s3.allowDeleteBucketNotEmpty=true -s3.config="$GITHUB_WORKSPACE/docker/compose/s3.json" & + -s3.allowEmptyFolder=false -s3.allowDeleteBucketNotEmpty=true -s3.config="$GITHUB_WORKSPACE/docker/compose/s3.json" -master.peers=none & pid=$! # Wait for all SeaweedFS components to be ready @@ -526,7 +526,7 @@ jobs: -master.raftHashicorp -master.electionTimeout 1s -master.volumeSizeLimitMB=100 \ -volume.max=100 -volume.preStopSeconds=1 \ -master.port=9335 -volume.port=8082 -filer.port=8890 -s3.port=8002 -metricsPort=9326 \ - -s3.allowEmptyFolder=false -s3.allowDeleteBucketNotEmpty=true -s3.config="$GITHUB_WORKSPACE/docker/compose/s3.json" & + -s3.allowEmptyFolder=false -s3.allowDeleteBucketNotEmpty=true -s3.config="$GITHUB_WORKSPACE/docker/compose/s3.json" -master.peers=none & pid=$! # Wait for all SeaweedFS components to be ready @@ -636,7 +636,7 @@ jobs: -master.raftHashicorp -master.electionTimeout 1s -master.volumeSizeLimitMB=100 \ -volume.max=100 -volume.preStopSeconds=1 \ -master.port=9336 -volume.port=8083 -filer.port=8891 -s3.port=8003 -metricsPort=9327 \ - -s3.allowEmptyFolder=false -s3.allowDeleteBucketNotEmpty=true -s3.config="$GITHUB_WORKSPACE/docker/compose/s3.json" & + -s3.allowEmptyFolder=false -s3.allowDeleteBucketNotEmpty=true -s3.config="$GITHUB_WORKSPACE/docker/compose/s3.json" -master.peers=none & pid=$! # Wait for all SeaweedFS components to be ready @@ -818,6 +818,7 @@ jobs: -volume.max=100 -volume.preStopSeconds=1 \ -master.port=9337 -volume.port=8085 -filer.port=8892 -s3.port=8004 -metricsPort=9328 \ -s3.allowEmptyFolder=false -s3.allowDeleteBucketNotEmpty=true -s3.config="$GITHUB_WORKSPACE/docker/compose/s3.json" \ + -master.peers=none \ > /tmp/seaweedfs-sql-server.log 2>&1 & pid=$! diff --git a/.github/workflows/test-s3-over-https-using-awscli.yml b/.github/workflows/test-s3-over-https-using-awscli.yml index ff2e433f0..fd0f8eb4f 100644 --- a/.github/workflows/test-s3-over-https-using-awscli.yml +++ b/.github/workflows/test-s3-over-https-using-awscli.yml @@ -34,7 +34,7 @@ jobs: run: | set -e mkdir -p /tmp/data - ./weed server -s3 -dir=/tmp/data -s3.config=../docker/compose/s3.json & + ./weed -v=3 server -s3 -dir=/tmp/data -s3.config=../docker/compose/s3.json -master.peers=none > weed.log 2>&1 & until curl -s http://localhost:8333/ > /dev/null; do sleep 1; done - name: Setup Caddy diff --git a/test/erasure_coding/ec_integration_test.go b/test/erasure_coding/ec_integration_test.go index 81cb89678..87b9b40ba 100644 --- a/test/erasure_coding/ec_integration_test.go +++ b/test/erasure_coding/ec_integration_test.go @@ -391,6 +391,7 @@ func startSeaweedFSCluster(ctx context.Context, dataDir string) (*TestCluster, e "-mdir", masterDir, "-volumeSizeLimitMB", "10", // Small volumes for testing "-ip", "127.0.0.1", + "-peers", "none", // Faster startup when no multiple masters needed ) masterLogFile, err := os.Create(filepath.Join(masterDir, "master.log")) diff --git a/test/fuse_integration/framework.go b/test/fuse_integration/framework.go index 9cff1badb..000dddbfe 100644 --- a/test/fuse_integration/framework.go +++ b/test/fuse_integration/framework.go @@ -175,6 +175,7 @@ func (f *FuseTestFramework) startMaster(config *TestConfig) error { "-port=19333", "-mdir=" + filepath.Join(f.dataDir, "master"), "-raftBootstrap", + "-peers=none", // Faster startup when no multiple masters needed } if config.EnableDebug { args = append(args, "-v=4") diff --git a/test/kafka/README.md b/test/kafka/README.md index a39855ed6..0e759da0d 100644 --- a/test/kafka/README.md +++ b/test/kafka/README.md @@ -37,7 +37,7 @@ Requires running SeaweedFS instance: 1. **Start SeaweedFS with MQ support:** ```bash # Terminal 1: Start SeaweedFS server -weed server -ip="127.0.0.1" -ip.bind="0.0.0.0" -dir=/tmp/seaweedfs-data -master.port=9333 -volume.port=8081 -filer.port=8888 -filer=true +weed server -ip="127.0.0.1" -ip.bind="0.0.0.0" -dir=/tmp/seaweedfs-data -master.port=9333 -volume.port=8081 -filer.port=8888 -filer=true -master.peers=none # Terminal 2: Start MQ broker weed mq.broker -master="127.0.0.1:9333" -ip="127.0.0.1" -port=17777 diff --git a/test/kafka/loadtest/run_million_record_test.sh b/test/kafka/loadtest/run_million_record_test.sh index 0728e8121..768fbc538 100755 --- a/test/kafka/loadtest/run_million_record_test.sh +++ b/test/kafka/loadtest/run_million_record_test.sh @@ -55,7 +55,7 @@ if [ "$MASTERS_OK" = false ]; then echo "" echo "Example commands to start SeaweedFS:" echo " # Terminal 1: Start Master" - echo " weed master -defaultReplication=001 -mdir=/tmp/seaweedfs/master" + echo " weed master -defaultReplication=001 -mdir=/tmp/seaweedfs/master -peers=none" echo "" echo " # Terminal 2: Start Filer" echo " weed filer -master=localhost:9333 -filer.dir=/tmp/seaweedfs/filer" diff --git a/test/kafka/loadtest/setup_seaweed_infrastructure.sh b/test/kafka/loadtest/setup_seaweed_infrastructure.sh index 448119097..a5e0b2323 100755 --- a/test/kafka/loadtest/setup_seaweed_infrastructure.sh +++ b/test/kafka/loadtest/setup_seaweed_infrastructure.sh @@ -76,7 +76,7 @@ echo "=== Starting SeaweedFS Components ===" # Start Master if ! check_service "localhost:9333" "SeaweedFS Master"; then start_service \ - "weed master -defaultReplication=001 -mdir=$BASE_DIR/master" \ + "weed master -defaultReplication=001 -mdir=$BASE_DIR/master -peers=none" \ "SeaweedFS Master" \ "$LOG_DIR/master.log" \ "localhost:9333" diff --git a/test/kafka/scripts/test_schema_registry.sh b/test/kafka/scripts/test_schema_registry.sh index d5ba8574a..da1f5edb6 100755 --- a/test/kafka/scripts/test_schema_registry.sh +++ b/test/kafka/scripts/test_schema_registry.sh @@ -29,7 +29,7 @@ sleep 2 # Start SeaweedFS server echo "🗄️ Starting SeaweedFS server..." -/tmp/weed server -dir=/tmp/seaweedfs-test -master.port=9333 -volume.port=8080 -filer.port=8888 -ip=localhost > /tmp/seaweed-server.log 2>&1 & +/tmp/weed server -dir=/tmp/seaweedfs-test -master.port=9333 -volume.port=8080 -filer.port=8888 -ip=localhost -master.peers=none > /tmp/seaweed-server.log 2>&1 & SERVER_PID=$! # Wait for server to be ready diff --git a/test/mq/README.md b/test/mq/README.md index 7fa7e39eb..34eb3b1c0 100644 --- a/test/mq/README.md +++ b/test/mq/README.md @@ -13,10 +13,10 @@ This directory contains test programs for SeaweedFS Message Queue (MQ) functiona ```bash # Start SeaweedFS server with MQ broker and agent -weed server -mq.broker -mq.agent -filer -volume +weed server -mq.broker -mq.agent -filer -volume -master.peers=none # Or start components separately -weed master +weed master -peers=none weed volume -mserver=localhost:9333 weed filer -master=localhost:9333 weed mq.broker -filer=localhost:8888 diff --git a/test/s3/copying/Makefile b/test/s3/copying/Makefile index 81e3fc19d..3aa8b7b35 100644 --- a/test/s3/copying/Makefile +++ b/test/s3/copying/Makefile @@ -70,7 +70,7 @@ start-seaweedfs: check-binary @mkdir -p /tmp/seaweedfs-test-copying-volume # Start master server with volume size limit - @nohup $(SEAWEEDFS_BINARY) master -port=$(MASTER_PORT) -mdir=/tmp/seaweedfs-test-copying-master -volumeSizeLimitMB=$(VOLUME_MAX_SIZE_MB) -ip=127.0.0.1 > /tmp/seaweedfs-master.log 2>&1 & + @nohup $(SEAWEEDFS_BINARY) master -port=$(MASTER_PORT) -mdir=/tmp/seaweedfs-test-copying-master -volumeSizeLimitMB=$(VOLUME_MAX_SIZE_MB) -ip=127.0.0.1 -peers=none > /tmp/seaweedfs-master.log 2>&1 & @sleep 3 # Start volume server diff --git a/test/s3/iam/Makefile b/test/s3/iam/Makefile index 57d0ca9df..b3fa9d37b 100644 --- a/test/s3/iam/Makefile +++ b/test/s3/iam/Makefile @@ -61,7 +61,8 @@ start-services: ## Start SeaweedFS services for testing @echo "🚀 Starting SeaweedFS services..." @echo "Starting master server..." @$(WEED_BINARY) master -port=$(MASTER_PORT) \ - -mdir=test-volume-data/m9333 > weed-master.log 2>&1 & \ + -mdir=test-volume-data/m9333 \ + -peers=none > weed-master.log 2>&1 & \ echo $$! > $(MASTER_PID_FILE) @echo "Waiting for master server to be ready..." diff --git a/test/s3/sse/Makefile b/test/s3/sse/Makefile index b05ef3b7c..d92fc90a6 100644 --- a/test/s3/sse/Makefile +++ b/test/s3/sse/Makefile @@ -98,7 +98,7 @@ start-seaweedfs: check-binary @mkdir -p /tmp/seaweedfs-test-sse-filer # Start master server with volume size limit and explicit gRPC port - @nohup $(SEAWEEDFS_BINARY) master -port=$(MASTER_PORT) -port.grpc=$$(( $(MASTER_PORT) + 10000 )) -mdir=/tmp/seaweedfs-test-sse-master -volumeSizeLimitMB=$(VOLUME_MAX_SIZE_MB) -ip=127.0.0.1 > /tmp/seaweedfs-sse-master.log 2>&1 & + @nohup $(SEAWEEDFS_BINARY) master -port=$(MASTER_PORT) -port.grpc=$$(( $(MASTER_PORT) + 10000 )) -mdir=/tmp/seaweedfs-test-sse-master -volumeSizeLimitMB=$(VOLUME_MAX_SIZE_MB) -ip=127.0.0.1 -peers=none > /tmp/seaweedfs-sse-master.log 2>&1 & @sleep 3 # Start volume server with master HTTP port and increased capacity @@ -354,7 +354,7 @@ start-seaweedfs-ci: check-binary # Start master server with volume size limit and explicit gRPC port @echo "Starting master server..." - @nohup $(SEAWEEDFS_BINARY) master -port=$(MASTER_PORT) -port.grpc=$$(( $(MASTER_PORT) + 10000 )) -mdir=/tmp/seaweedfs-test-sse-master -volumeSizeLimitMB=$(VOLUME_MAX_SIZE_MB) -ip=127.0.0.1 > /tmp/seaweedfs-sse-master.log 2>&1 & + @nohup $(SEAWEEDFS_BINARY) master -port=$(MASTER_PORT) -port.grpc=$$(( $(MASTER_PORT) + 10000 )) -mdir=/tmp/seaweedfs-test-sse-master -volumeSizeLimitMB=$(VOLUME_MAX_SIZE_MB) -ip=127.0.0.1 -peers=none > /tmp/seaweedfs-sse-master.log 2>&1 & @sleep 3 # Start volume server with master HTTP port and increased capacity