Skip to content

Commit

Permalink
support jenkins
Browse files Browse the repository at this point in the history
Signed-off-by: husharp <[email protected]>
  • Loading branch information
HuSharp committed Dec 5, 2023
1 parent dfff690 commit f29a9b8
Show file tree
Hide file tree
Showing 24 changed files with 1,033 additions and 14 deletions.
35 changes: 35 additions & 0 deletions .github/workflows/real_tiup.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: PD Real TiUP Test
on:
push:
branches:
- master
- release-*
pull_request:
branches:
- master
- release-*
concurrency:
group: ${{ github.ref }}-${{ github.workflow }}
cancel-in-progress: true
jobs:
real-cluster:
runs-on: ubuntu-latest
steps:
- uses: actions/setup-go@v3
with:
go-version: '1.21'
- name: Checkout code
uses: actions/checkout@v3
- name: Restore cache
uses: actions/cache@v3
with:
path: |
~/go/pkg/mod
~/.cache/go-build
**/.tools
**/.dashboard_download_cache
key: ${{ runner.os }}-go-${{ matrix.worker_id }}-${{ hashFiles('**/go.sum') }}

- name: Test
run: make check
working-directory: tests/integrations/realtiup
7 changes: 6 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,12 @@ ifeq ($(ENABLE_FIPS), 1)
BUILD_TOOL_CGO_ENABLED := 1
endif

LDFLAGS += -X "$(PD_PKG)/pkg/versioninfo.PDReleaseVersion=$(shell git describe --tags --dirty --always)"
RELEASE_VERSION ?= $(shell git describe --tags --dirty --always)
ifeq ($(RUN_CI), 1)
RELEASE_VERSION := None
endif

LDFLAGS += -X "$(PD_PKG)/pkg/versioninfo.PDReleaseVersion=$(RELEASE_VERSION)"
LDFLAGS += -X "$(PD_PKG)/pkg/versioninfo.PDBuildTS=$(shell date -u '+%Y-%m-%d %I:%M:%S')"
LDFLAGS += -X "$(PD_PKG)/pkg/versioninfo.PDGitHash=$(shell git rev-parse HEAD)"
LDFLAGS += -X "$(PD_PKG)/pkg/versioninfo.PDGitBranch=$(shell git rev-parse --abbrev-ref HEAD)"
Expand Down
14 changes: 14 additions & 0 deletions client/http/api.go
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,10 @@ const (
MinResolvedTSPrefix = "/pd/api/v1/min-resolved-ts"
Status = "/pd/api/v1/status"
Version = "/pd/api/v1/version"

Store = "/pd/api/v1/store"
CheckLeader = "/pd/api/v1/leader"
TransferLeader = "/pd/api/v1/leader/transfer"
)

// RegionByID returns the path of PD HTTP API to get region by ID.
Expand Down Expand Up @@ -173,3 +177,13 @@ func PProfProfileAPIWithInterval(interval time.Duration) string {
func PProfGoroutineWithDebugLevel(level int) string {
return fmt.Sprintf("%s?debug=%d", PProfGoroutine, level)
}

// LabelByStore returns the path of PD HTTP API to set store label.
func LabelByStore(storeID int64) string {
return fmt.Sprintf("%s/%d/label", Store, storeID)
}

// TransferLeaderID returns the path of PD HTTP API to transfer leader by ID.
func TransferLeaderID(leaderID string) string {
return fmt.Sprintf("%s/%s", TransferLeader, leaderID)
}
64 changes: 64 additions & 0 deletions client/http/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import (
"crypto/tls"
"encoding/json"
"fmt"
"github.com/pingcap/kvproto/pkg/pdpb"
"io"
"net/http"
"strings"
Expand Down Expand Up @@ -87,6 +88,14 @@ type Client interface {
// Additionally, it is important for the caller to handle the content of the response body properly
// in order to ensure that it can be read and marshaled correctly into `res`.
WithRespHandler(func(resp *http.Response, res interface{}) error) Client
SetStoreLabel(context.Context, int64, map[string]string) error

GetLeader(context.Context) (*pdpb.Member, error)
TransferLeader(context.Context, string) error

GetSchedulers(context.Context) ([]string, error)
AddScheduler(context.Context, string, map[string]interface{}) error

Close()
}

Expand Down Expand Up @@ -729,3 +738,58 @@ func (c *client) GetMinResolvedTSByStoresIDs(ctx context.Context, storeIDs []uin
}
return resp.MinResolvedTS, resp.StoresMinResolvedTS, nil
}

// SetStoreLabel sets the label of a store.
func (c *client) SetStoreLabel(ctx context.Context, storeID int64, storeLabel map[string]string) error {
jsonBody, err := json.Marshal(storeLabel)
if err != nil {
return err
}

return c.requestWithRetry(ctx, "SetStoreLabel", LabelByStore(storeID),
http.MethodPost, bytes.NewBuffer(jsonBody), nil)
}

// GetLeader gets the leader of PD cluster.
func (c *client) GetLeader(context.Context) (*pdpb.Member, error) {
var leader pdpb.Member
err := c.requestWithRetry(context.Background(), "GetLeader", CheckLeader,
http.MethodGet, http.NoBody, &leader)
if err != nil {
return nil, err
}
return &leader, nil
}

// TransferLeader transfers the PD leader.
func (c *client) TransferLeader(ctx context.Context, newLeader string) error {
return c.requestWithRetry(ctx, "TransferLeader", TransferLeaderID(newLeader),
http.MethodPost, http.NoBody, nil)
}

// GetSchedulers gets the schedulers from PD cluster.
func (c *client) GetSchedulers(ctx context.Context) ([]string, error) {
var schedulers []string
err := c.requestWithRetry(ctx, "GetSchedulers", Schedulers,
http.MethodGet, http.NoBody, &schedulers)
if err != nil {
return nil, err
}
return schedulers, nil
}

// AddScheduler adds a scheduler to PD cluster.
func (c *client) AddScheduler(ctx context.Context, name string, args map[string]interface{}) error {
request := map[string]interface{}{
"name": name,
}
for arg, val := range args {
request[arg] = val
}
data, err := json.Marshal(request)
if err != nil {
return err
}
return c.requestWithRetry(ctx, "AddScheduler", Schedulers,
http.MethodPost, bytes.NewBuffer(data), nil)
}
4 changes: 2 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ require (
go.uber.org/atomic v1.10.0
go.uber.org/goleak v1.1.12
go.uber.org/zap v1.24.0
golang.org/x/exp v0.0.0-20230108222341-4b8118a2686a
golang.org/x/exp v0.0.0-20230711005742-c3f37128e5a4
golang.org/x/text v0.13.0
golang.org/x/time v0.1.0
golang.org/x/tools v0.6.0
Expand Down Expand Up @@ -185,7 +185,7 @@ require (
golang.org/x/arch v0.3.0 // indirect
golang.org/x/crypto v0.14.0 // indirect
golang.org/x/image v0.5.0 // indirect
golang.org/x/mod v0.8.0 // indirect
golang.org/x/mod v0.11.0 // indirect
golang.org/x/net v0.17.0 // indirect
golang.org/x/oauth2 v0.4.0 // indirect
golang.org/x/sync v0.1.0 // indirect
Expand Down
8 changes: 4 additions & 4 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -683,8 +683,8 @@ golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4/go.mod h1:IxCIyHEi3zRg3s0
golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc=
golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20230108222341-4b8118a2686a h1:tlXy25amD5A7gOfbXdqCGN5k8ESEed/Ee1E5RcrYnqU=
golang.org/x/exp v0.0.0-20230108222341-4b8118a2686a/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc=
golang.org/x/exp v0.0.0-20230711005742-c3f37128e5a4 h1:QLureRX3moex6NVu/Lr4MGakp9FdA7sBHGBmvRW7NaM=
golang.org/x/exp v0.0.0-20230711005742-c3f37128e5a4/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc=
golang.org/x/image v0.0.0-20200119044424-58c23975cae1/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
golang.org/x/image v0.5.0 h1:5JMiNunQeQw++mMOz48/ISeNu3Iweh/JaZU8ZLqHRrI=
golang.org/x/image v0.5.0/go.mod h1:FVC7BI/5Ym8R25iw5OLsgshdUBbT1h5jZTpA+mvAdZ4=
Expand All @@ -700,8 +700,8 @@ golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/mod v0.8.0 h1:LUYupSeNrTNCGzR/hVBk2NHZO4hXcVaW1k4Qx7rjPx8=
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.11.0 h1:bUO06HqtnRcc/7l71XBe4WcqTZ+3AH1J59zWDDwLKgU=
golang.org/x/mod v0.11.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
Expand Down
4 changes: 2 additions & 2 deletions pkg/member/member.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ type EmbeddedEtcdMember struct {
id uint64 // etcd server id.
member *pdpb.Member // current PD's info.
rootPath string
// memberValue is the serialized string of `member`. It will be save in
// memberValue is the serialized string of `member`. It will be saved in
// etcd leader key when the PD node is successfully elected as the PD leader
// of the cluster. Every write will use it to check PD leadership.
memberValue string
Expand Down Expand Up @@ -200,7 +200,7 @@ func (m *EmbeddedEtcdMember) KeepLeader(ctx context.Context) {
m.leadership.Keep(ctx)
}

// PreCheckLeader does some pre-check before checking whether or not it's the leader.
// PreCheckLeader does some pre-check before checking whether it's the leader.
func (m *EmbeddedEtcdMember) PreCheckLeader() error {
if m.GetEtcdLeader() == 0 {
return errs.ErrEtcdLeaderNotFound
Expand Down
2 changes: 1 addition & 1 deletion tests/integrations/client/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ require (
github.com/pingcap/log v1.1.1-0.20221110025148-ca232912c9f3
github.com/stretchr/testify v1.8.3
github.com/tikv/pd v0.0.0-00010101000000-000000000000
github.com/tikv/pd/client v0.0.0-00010101000000-000000000000
github.com/tikv/pd/client v0.0.0-20231101084237-a1a1eea8dafd
go.etcd.io/etcd v0.5.0-alpha.5.0.20220915004622-85b640cee793
go.uber.org/goleak v1.1.12
go.uber.org/zap v1.24.0
Expand Down
2 changes: 1 addition & 1 deletion tests/integrations/mcs/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ require (
github.com/pingcap/log v1.1.1-0.20221110025148-ca232912c9f3
github.com/stretchr/testify v1.8.3
github.com/tikv/pd v0.0.0-00010101000000-000000000000
github.com/tikv/pd/client v0.0.0-00010101000000-000000000000
github.com/tikv/pd/client v0.0.0-20231101084237-a1a1eea8dafd
go.etcd.io/etcd v0.5.0-alpha.5.0.20220915004622-85b640cee793
go.uber.org/goleak v1.1.12
go.uber.org/zap v1.24.0
Expand Down
49 changes: 49 additions & 0 deletions tests/integrations/realtiup/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Copyright 2023 TiKV Project Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

ROOT_PATH := ../../..
GO_TOOLS_BIN_PATH := $(ROOT_PATH)/.tools/bin
PATH := $(GO_TOOLS_BIN_PATH):$(PATH)
SHELL := env PATH='$(PATH)' GOBIN='$(GO_TOOLS_BIN_PATH)' $(shell which bash)

check: static deploy test clean

static: install-tools
@ echo "gofmt ..."
@ gofmt -s -l -d . 2>&1 | awk '{ print } END { if (NR > 0) { exit 1 } }'
@ echo "golangci-lint ..."
@ golangci-lint run -c $(ROOT_PATH)/.golangci.yml --verbose ./... --allow-parallel-runners
@ echo "revive ..."
@ revive -formatter friendly -config $(ROOT_PATH)/revive.toml ./...

tidy:
@ go mod tidy
git diff go.mod go.sum | cat
git diff --quiet go.mod go.sum

deploy:
./download_binaries.sh
rm -rf ./log
mkdir log
./deploy.sh log

clean:
rm -rf log
rm -rf bin

test:
CGO_ENABLED=1 go test ./... -v -tags deadlock -race -cover || { exit 1; }

install-tools:
cd $(ROOT_PATH) && $(MAKE) install-tools
20 changes: 20 additions & 0 deletions tests/integrations/realtiup/check/pd.log
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
[2023/12/05 10:38:29.433 +08:00] [INFO] [versioninfo.go:89] ["Welcome to Placement Driver (PD)"]
[2023/12/05 10:38:29.433 +08:00] [INFO] [versioninfo.go:90] [PD] [release-version=None]
[2023/12/05 10:38:29.433 +08:00] [INFO] [versioninfo.go:91] [PD] [edition=Community]
[2023/12/05 10:38:29.433 +08:00] [INFO] [versioninfo.go:92] [PD] [git-hash=2c8e4d7a104895b97b04788542ae898111a31e4a]
[2023/12/05 10:38:29.433 +08:00] [INFO] [versioninfo.go:93] [PD] [git-branch=support_jenkins]
[2023/12/05 10:38:29.433 +08:00] [INFO] [versioninfo.go:94] [PD] [utc-build-time="2023-12-05 02:15:54"]
[2023/12/05 10:38:29.433 +08:00] [INFO] [metricutil.go:86] ["disable Prometheus push client"]
[2023/12/05 10:38:29.433 +08:00] [INFO] [server.go:249] ["PD config"] [config="{\"client-urls\":\"http://127.0.0.1:2379\",\"peer-urls\":\"http://127.0.0.1:2380\",\"advertise-client-urls\":\"http://127.0.0.1:2379\",\"advertise-peer-urls\":\"http://127.0.0.1:2380\",\"name\":\"pd-cloud-ecosystem-03\",\"data-dir\":\"/data/nvme0n1/husharp/proj/pd/tests/integrations/realtiup/check/pd\",\"force-new-cluster\":false,\"enable-grpc-gateway\":true,\"initial-cluster\":\"pd-cloud-ecosystem-03=http://127.0.0.1:2380\",\"initial-cluster-state\":\"new\",\"initial-cluster-token\":\"pd-cluster\",\"join\":\"\",\"lease\":3,\"log\":{\"level\":\"info\",\"format\":\"text\",\"disable-timestamp\":false,\"file\":{\"filename\":\"./check/pd.log\",\"max-size\":0,\"max-days\":0,\"max-backups\":0},\"development\":false,\"disable-caller\":false,\"disable-stacktrace\":false,\"disable-error-verbose\":true,\"sampling\":null,\"error-output-path\":\"\"},\"max-concurrent-tso-proxy-streamings\":5000,\"tso-proxy-recv-from-client-timeout\":\"1h0m0s\",\"tso-save-interval\":\"3s\",\"tso-update-physical-interval\":\"50ms\",\"enable-local-tso\":false,\"metric\":{\"job\":\"pd-cloud-ecosystem-03\",\"address\":\"\",\"interval\":\"15s\"},\"schedule\":{\"max-snapshot-count\":64,\"max-pending-peer-count\":64,\"max-merge-region-size\":20,\"max-merge-region-keys\":0,\"split-merge-interval\":\"1h0m0s\",\"switch-witness-interval\":\"1h0m0s\",\"enable-one-way-merge\":\"false\",\"enable-cross-table-merge\":\"true\",\"patrol-region-interval\":\"10ms\",\"max-store-down-time\":\"30m0s\",\"max-store-preparing-time\":\"48h0m0s\",\"leader-schedule-limit\":4,\"leader-schedule-policy\":\"count\",\"region-schedule-limit\":2048,\"witness-schedule-limit\":4,\"replica-schedule-limit\":64,\"merge-schedule-limit\":8,\"hot-region-schedule-limit\":4,\"hot-region-cache-hits-threshold\":3,\"store-limit\":{},\"tolerant-size-ratio\":0,\"low-space-ratio\":0.8,\"high-space-ratio\":0.7,\"region-score-formula-version\":\"v2\",\"scheduler-max-waiting-operator\":5,\"enable-remove-down-replica\":\"true\",\"enable-replace-offline-replica\":\"true\",\"enable-make-up-replica\":\"true\",\"enable-remove-extra-replica\":\"true\",\"enable-location-replacement\":\"true\",\"enable-debug-metrics\":\"false\",\"enable-joint-consensus\":\"true\",\"enable-tikv-split-region\":\"true\",\"schedulers-v2\":[{\"type\":\"balance-region\",\"args\":null,\"disable\":false,\"args-payload\":\"\"},{\"type\":\"balance-leader\",\"args\":null,\"disable\":false,\"args-payload\":\"\"},{\"type\":\"balance-witness\",\"args\":null,\"disable\":false,\"args-payload\":\"\"},{\"type\":\"hot-region\",\"args\":null,\"disable\":false,\"args-payload\":\"\"},{\"type\":\"transfer-witness-leader\",\"args\":null,\"disable\":false,\"args-payload\":\"\"}],\"schedulers-payload\":null,\"hot-regions-write-interval\":\"10m0s\",\"hot-regions-reserved-days\":7,\"max-movable-hot-peer-size\":512,\"enable-diagnostic\":\"true\",\"enable-witness\":\"false\",\"slow-store-evicting-affected-store-ratio-threshold\":0.3,\"store-limit-version\":\"v1\"},\"replication\":{\"max-replicas\":1,\"location-labels\":\"\",\"strictly-match-label\":\"false\",\"enable-placement-rules\":\"true\",\"enable-placement-rules-cache\":\"false\",\"isolation-level\":\"\"},\"pd-server\":{\"use-region-storage\":\"true\",\"max-gap-reset-ts\":\"24h0m0s\",\"key-type\":\"table\",\"runtime-services\":\"\",\"metric-storage\":\"\",\"dashboard-address\":\"auto\",\"trace-region-flow\":\"true\",\"flow-round-by-digit\":3,\"min-resolved-ts-persistence-interval\":\"1s\",\"server-memory-limit\":0,\"server-memory-limit-gc-trigger\":0.7,\"enable-gogc-tuner\":\"false\",\"gc-tuner-threshold\":0.6,\"block-safe-point-v1\":\"false\"},\"cluster-version\":\"0.0.0\",\"labels\":{},\"quota-backend-bytes\":\"8GiB\",\"auto-compaction-mode\":\"periodic\",\"auto-compaction-retention-v2\":\"1h\",\"TickInterval\":\"500ms\",\"ElectionInterval\":\"3s\",\"PreVote\":true,\"max-request-bytes\":157286400,\"security\":{\"cacert-path\":\"\",\"cert-path\":\"\",\"key-path\":\"\",\"cert-allowed-cn\":null,\"SSLCABytes\":null,\"SSLCertBytes\":null,\"SSLKEYBytes\":null,\"redact-info-log\":false,\"encryption\":{\"data-encryption-method\":\"plaintext\",\"data-key-rotation-period\":\"168h0m0s\",\"master-key\":{\"type\":\"plaintext\",\"key-id\":\"\",\"region\":\"\",\"endpoint\":\"\",\"path\":\"\"}}},\"label-property\":null,\"WarningMsgs\":null,\"DisableStrictReconfigCheck\":false,\"HeartbeatStreamBindInterval\":\"1m0s\",\"LeaderPriorityCheckInterval\":\"1m0s\",\"dashboard\":{\"tidb-cacert-path\":\"\",\"tidb-cert-path\":\"\",\"tidb-key-path\":\"\",\"public-path-prefix\":\"\",\"internal-proxy\":false,\"enable-telemetry\":false,\"enable-experimental\":false},\"replication-mode\":{\"replication-mode\":\"majority\",\"dr-auto-sync\":{\"label-key\":\"\",\"primary\":\"\",\"dr\":\"\",\"primary-replicas\":0,\"dr-replicas\":0,\"wait-store-timeout\":\"1m0s\",\"wait-recover-timeout\":\"0s\",\"pause-region-split\":\"false\"}},\"keyspace\":{\"pre-alloc\":null,\"wait-region-split\":true,\"wait-region-split-timeout\":\"30s\",\"check-region-split-interval\":\"50ms\"},\"controller\":{\"degraded-mode-wait-duration\":\"0s\",\"ltb-max-wait-duration\":\"30s\",\"request-unit\":{\"read-base-cost\":0.125,\"read-per-batch-base-cost\":0.5,\"read-cost-per-byte\":0.0000152587890625,\"write-base-cost\":1,\"write-per-batch-base-cost\":1,\"write-cost-per-byte\":0.0009765625,\"read-cpu-ms-cost\":0.3333333333333333}}}"]
[2023/12/05 10:38:29.437 +08:00] [INFO] [apiutil.go:386] ["register REST path"] [path=/pd/api/v1]
[2023/12/05 10:38:29.437 +08:00] [INFO] [apiutil.go:386] ["register REST path"] [path=/pd/api/v2/]
[2023/12/05 10:38:29.438 +08:00] [INFO] [apiutil.go:386] ["register REST path"] [path=/autoscaling]
[2023/12/05 10:38:29.438 +08:00] [INFO] [apiutil.go:386] ["register REST path"] [path=/dashboard/]
[2023/12/05 10:38:29.438 +08:00] [INFO] [apiutil.go:386] ["register REST path"] [path=/resource-manager/api/v1/]
[2023/12/05 10:38:29.438 +08:00] [INFO] [registry.go:92] ["restful API service registered successfully"] [prefix=pd-cloud-ecosystem-03] [service-name=ResourceManager]
[2023/12/05 10:38:29.438 +08:00] [INFO] [registry.go:92] ["restful API service registered successfully"] [prefix=pd-cloud-ecosystem-03] [service-name=MetaStorage]
[2023/12/05 10:38:29.438 +08:00] [INFO] [etcd.go:117] ["configuring peer listeners"] [listen-peer-urls="[http://127.0.0.1:2380]"]
[2023/12/05 10:38:29.438 +08:00] [INFO] [systimemon.go:30] ["start system time monitor"]
[2023/12/05 10:38:29.438 +08:00] [INFO] [etcd.go:369] ["closing etcd server"] [name=pd-cloud-ecosystem-03] [data-dir=/data/nvme0n1/husharp/proj/pd/tests/integrations/realtiup/check/pd] [advertise-peer-urls="[http://127.0.0.1:2380]"] [advertise-client-urls="[http://127.0.0.1:2379]"]
[2023/12/05 10:38:29.438 +08:00] [INFO] [etcd.go:373] ["closed etcd server"] [name=pd-cloud-ecosystem-03] [data-dir=/data/nvme0n1/husharp/proj/pd/tests/integrations/realtiup/check/pd] [advertise-peer-urls="[http://127.0.0.1:2380]"] [advertise-client-urls="[http://127.0.0.1:2379]"]
[2023/12/05 10:38:29.439 +08:00] [FATAL] [main.go:279] ["run server failed"] [error="[PD:etcd:ErrStartEtcd]listen tcp 127.0.0.1:2380: bind: address already in use: listen tcp 127.0.0.1:2380: bind: address already in use"] [stack="main.start\n\t/data/nvme0n1/husharp/proj/pd/cmd/pd-server/main.go:279\nmain.createServerWrapper\n\t/data/nvme0n1/husharp/proj/pd/cmd/pd-server/main.go:190\ngithub.com/spf13/cobra.(*Command).execute\n\t/data/nvme0n1/husharp/go/go1.21.0/pkg/mod/github.com/spf13/[email protected]/command.go:846\ngithub.com/spf13/cobra.(*Command).ExecuteC\n\t/data/nvme0n1/husharp/go/go1.21.0/pkg/mod/github.com/spf13/[email protected]/command.go:950\ngithub.com/spf13/cobra.(*Command).Execute\n\t/data/nvme0n1/husharp/go/go1.21.0/pkg/mod/github.com/spf13/[email protected]/command.go:887\nmain.main\n\t/data/nvme0n1/husharp/proj/pd/cmd/pd-server/main.go:70\nruntime.main\n\t/data/nvme0n1/husharp/go/go1.21.0/src/runtime/proc.go:267"]
3 changes: 3 additions & 0 deletions tests/integrations/realtiup/check/pd.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[replication]
# The number of replicas for each region.
max-replicas = 1
Loading

0 comments on commit f29a9b8

Please sign in to comment.