Skip to content

Commit ac53170

Browse files
authored
feat(contrib/registry/etcd): add retry machenism when keepalive lease expires (#4035)
1 parent e3e82c7 commit ac53170

23 files changed

+194
-171
lines changed

.github/workflows/ci-main.sh

+21-61
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
#!/usr/bin/env bash
22

3+
# Define the latest Go version requirement
4+
LATEST_GO_VERSION="1.23"
5+
36
coverage=$1
47

58
# find all path that contains go.mod.
@@ -13,82 +16,39 @@ for file in `find . -name go.mod`; do
1316
continue 1
1417
fi
1518

16-
if [[ $file =~ "/testdata/" ]]; then
17-
echo "ignore testdata path $file"
18-
continue 1
19-
fi
20-
2119
# package kuhecm was moved to sub ci procedure.
2220
if [ "kubecm" = $(basename $dirpath) ]; then
2321
continue 1
2422
fi
2523

26-
# package consul needs golang >= v1.19
27-
if [ "consul" = $(basename $dirpath) ]; then
28-
if ! go version|grep -qE "go1.[2-9][0-9]"; then
29-
echo "ignore consul as go version: $(go version)"
30-
continue 1
24+
# Check if it's a contrib directory or example directory
25+
if [[ $dirpath =~ "/contrib/" ]] || [ "example" = $(basename $dirpath) ]; then
26+
# Check if go version meets the requirement
27+
if ! go version | grep -qE "go${LATEST_GO_VERSION}"; then
28+
echo "ignore path $dirpath as go version is not ${LATEST_GO_VERSION}: $(go version)"
29+
continue 1
3130
fi
32-
fi
33-
34-
# package etcd needs golang >= v1.19
35-
if [ "etcd" = $(basename $dirpath) ]; then
36-
if ! go version|grep -qE "go1.[2-9][0-9]"; then
37-
echo "ignore etcd as go version: $(go version)"
38-
continue 1
39-
fi
40-
fi
41-
42-
# package polaris needs golang >= v1.19
43-
if [ "polaris" = $(basename $dirpath) ]; then
44-
if ! go version|grep -qE "go1.[2-9][0-9]"; then
45-
echo "ignore polaris as go version: $(go version)"
46-
continue 1
31+
# If it's example directory, only build without tests
32+
if [ "example" = $(basename $dirpath) ]; then
33+
echo "the example directory only needs to be built, not unit tests and coverage tests."
34+
cd $dirpath
35+
go mod tidy
36+
go build ./...
37+
cd -
38+
continue 1
4739
fi
4840
fi
4941

50-
# package example needs golang >= v1.20
51-
if [ "example" = $(basename $dirpath) ]; then
52-
if ! go version|grep -qE "go1.[2-9][1-9]"; then
53-
echo "ignore example as go version: $(go version)"
54-
continue 1
55-
fi
56-
echo "the example directory only needs to be built, not unit tests and coverage tests."
57-
cd $dirpath
58-
go mod tidy
59-
go build ./...
60-
cd -
42+
if [[ $file =~ "/testdata/" ]]; then
43+
echo "ignore testdata path $file"
6144
continue 1
6245
fi
6346

64-
# package otlpgrpc needs golang >= v1.20
65-
if [ "otlpgrpc" = $(basename $dirpath) ]; then
66-
if ! go version|grep -qE "go1.[2-9][0-9]"; then
67-
echo "ignore otlpgrpc as go version: $(go version)"
68-
continue 1
69-
fi
70-
fi
71-
72-
# package otlphttp needs golang >= v1.20
73-
if [ "otlphttp" = $(basename $dirpath) ]; then
74-
if ! go version|grep -qE "go1.[2-9][0-9]"; then
75-
echo "ignore otlphttp as go version: $(go version)"
76-
continue 1
77-
fi
78-
fi
79-
80-
# package otelmetric needs golang >= v1.20
81-
if [ "otelmetric" = $(basename $dirpath) ]; then
82-
if ! go version|grep -qE "go1.[2-9][0-9]"; then
83-
echo "ignore otelmetric as go version: $(go version)"
84-
continue 1
85-
fi
86-
fi
87-
8847
cd $dirpath
8948
go mod tidy
9049
go build ./...
91-
# check coverage
50+
51+
# test with coverage
9252
if [ "${coverage}" = "coverage" ]; then
9353
go test ./... -race -coverprofile=coverage.out -covermode=atomic -coverpkg=./...,github.com/gogf/gf/... || exit 1
9454

container/gpool/gpool_z_unit_test.go

+4-3
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
"time"
1313

1414
"github.com/gogf/gf/v2/container/gpool"
15+
"github.com/gogf/gf/v2/container/gtype"
1516
"github.com/gogf/gf/v2/frame/g"
1617
"github.com/gogf/gf/v2/test/gtest"
1718
)
@@ -20,10 +21,10 @@ var nf gpool.NewFunc = func() (i interface{}, e error) {
2021
return "hello", nil
2122
}
2223

23-
var assertIndex int = 0
24+
var assertIndex = gtype.NewInt(0)
2425

2526
var ef gpool.ExpireFunc = func(i interface{}) {
26-
assertIndex++
27+
assertIndex.Add(1)
2728
gtest.Assert(i, assertIndex)
2829
}
2930

@@ -83,7 +84,7 @@ func Test_Gpool(t *testing.T) {
8384
v2, err2 = p2.Get()
8485
t.Assert(err2, nil)
8586
t.Assert(v2, 0)
86-
assertIndex = 0
87+
assertIndex.Set(0)
8788
p2.Close()
8889
time.Sleep(3 * time.Second)
8990
t.AssertNE(p2.Put(1), nil)

contrib/drivers/clickhouse/clickhouse_z_unit_db_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,7 @@ func Test_DB_Tables(t *testing.T) {
295295
}
296296

297297
result, err := db.Tables(ctx)
298-
gtest.Assert(err, nil)
298+
gtest.AssertNil(err)
299299

300300
for i := 0; i < len(tables); i++ {
301301
find := false

contrib/drivers/dm/dm_z_unit_basic_test.go

+6-6
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ func TestTables(t *testing.T) {
3434
}
3535
gtest.C(t, func(t *gtest.T) {
3636
result, err := db.Tables(ctx)
37-
gtest.Assert(err, nil)
37+
gtest.AssertNil(err)
3838

3939
for i := 0; i < len(tables); i++ {
4040
find := false
@@ -48,7 +48,7 @@ func TestTables(t *testing.T) {
4848
}
4949

5050
result, err = dblink.Tables(ctx)
51-
gtest.Assert(err, nil)
51+
gtest.AssertNil(err)
5252
for i := 0; i < len(tables); i++ {
5353
find := false
5454
for j := 0; j < len(result); j++ {
@@ -95,7 +95,7 @@ func TestTableFields(t *testing.T) {
9595
gtest.AssertNE(err, nil)
9696

9797
res, err := db.TableFields(ctx, tables)
98-
gtest.Assert(err, nil)
98+
gtest.AssertNil(err)
9999

100100
for k, v := range expect {
101101
_, ok := res[k]
@@ -205,7 +205,7 @@ func TestModelInsert(t *testing.T) {
205205
}
206206
// _, err := db.Schema(TestDBName).Model(table).Data(data).Insert()
207207
_, err := db.Model(table).Insert(&data)
208-
gtest.Assert(err, nil)
208+
gtest.AssertNil(err)
209209
})
210210

211211
gtest.C(t, func(t *gtest.T) {
@@ -220,7 +220,7 @@ func TestModelInsert(t *testing.T) {
220220
}
221221
// _, err := db.Schema(TestDBName).Model(table).Data(data).Insert()
222222
_, err := db.Model(table).Data(&data).Insert()
223-
gtest.Assert(err, nil)
223+
gtest.AssertNil(err)
224224
})
225225
}
226226

@@ -238,7 +238,7 @@ func TestDBInsert(t *testing.T) {
238238
"UPDATED_TIME": gtime.Now(),
239239
}
240240
_, err := db.Insert(ctx, table, &data)
241-
gtest.Assert(err, nil)
241+
gtest.AssertNil(err)
242242
})
243243
}
244244

contrib/drivers/dm/dm_z_unit_init_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ func createInitTable(table ...string) (name string) {
173173
})
174174
}
175175
result, err := db.Schema(TestDBName).Insert(context.Background(), name, array.Slice())
176-
gtest.Assert(err, nil)
176+
gtest.AssertNil(err)
177177

178178
n, e := result.RowsAffected()
179179
gtest.Assert(e, nil)

contrib/drivers/mssql/mssql_z_unit_basic_test.go

+5-5
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ func TestTables(t *testing.T) {
2929
}
3030

3131
result, err := db.Tables(context.Background())
32-
gtest.Assert(err, nil)
32+
gtest.AssertNil(err)
3333

3434
for i := 0; i < len(tables); i++ {
3535
find := false
@@ -43,7 +43,7 @@ func TestTables(t *testing.T) {
4343
}
4444

4545
result, err = db.Tables(context.Background(), "test")
46-
gtest.Assert(err, nil)
46+
gtest.AssertNil(err)
4747
for i := 0; i < len(tables); i++ {
4848
find := false
4949
for j := 0; j < len(result); j++ {
@@ -74,7 +74,7 @@ func TestTableFields(t *testing.T) {
7474
}
7575

7676
res, err := db.TableFields(context.Background(), "t_user")
77-
gtest.Assert(err, nil)
77+
gtest.AssertNil(err)
7878

7979
for k, v := range expect {
8080
_, ok := res[k]
@@ -89,7 +89,7 @@ func TestTableFields(t *testing.T) {
8989
}
9090

9191
res, err = db.TableFields(context.Background(), "t_user", "test")
92-
gtest.Assert(err, nil)
92+
gtest.AssertNil(err)
9393

9494
for k, v := range expect {
9595
_, ok := res[k]
@@ -124,7 +124,7 @@ func TestDoInsert(t *testing.T) {
124124
"create_time": gtime.Now(),
125125
}
126126
_, err := db.Insert(context.Background(), "t_user", data)
127-
gtest.Assert(err, nil)
127+
gtest.AssertNil(err)
128128

129129
})
130130

contrib/drivers/mssql/mssql_z_unit_init_test.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,8 @@ func init() {
6161

6262
nodeErr := gdb.ConfigNode{
6363
Type: "mssql",
64-
Link: fmt.Sprintf("user id=%s;password=%s;server=%s;port=%s;database=%s;encrypt=disable",
64+
Link: fmt.Sprintf(
65+
"mssql:%s:%s@tcp(%s:%s)/%s?encrypt=disable",
6566
node.User, "node.Pass", node.Host, node.Port, node.Name),
6667
}
6768

@@ -130,7 +131,7 @@ func createInitTable(table ...string) (name string) {
130131
})
131132
}
132133
result, err := db.Insert(context.Background(), name, array.Slice())
133-
gtest.Assert(err, nil)
134+
gtest.AssertNil(err)
134135

135136
n, e := result.RowsAffected()
136137
gtest.Assert(e, nil)

contrib/drivers/mssql/mssql_z_unit_model_test.go

+26-24
Original file line numberDiff line numberDiff line change
@@ -26,30 +26,32 @@ import (
2626
func Test_Page(t *testing.T) {
2727
table := createInitTable()
2828
defer dropTable(table)
29-
// db.SetDebug(true)
30-
result, err := db.Model(table).Page(1, 2).Order("id").All()
31-
gtest.Assert(err, nil)
32-
fmt.Println("page:1--------", result)
33-
gtest.Assert(len(result), 2)
34-
gtest.Assert(result[0]["ID"], 1)
35-
gtest.Assert(result[1]["ID"], 2)
36-
37-
result, err = db.Model(table).Page(2, 2).Order("id").All()
38-
gtest.Assert(err, nil)
39-
fmt.Println("page: 2--------", result)
40-
gtest.Assert(len(result), 2)
41-
gtest.Assert(result[0]["ID"], 3)
42-
gtest.Assert(result[1]["ID"], 4)
43-
44-
result, err = db.Model(table).Page(3, 2).Order("id").All()
45-
gtest.Assert(err, nil)
46-
fmt.Println("page:3 --------", result)
47-
gtest.Assert(len(result), 2)
48-
gtest.Assert(result[0]["ID"], 5)
49-
50-
result, err = db.Model(table).Page(2, 3).All()
51-
gtest.Assert(err, nil)
52-
gtest.Assert(len(result), 3)
29+
gtest.C(t, func(t *gtest.T) {
30+
result, err := db.Model(table).Page(1, 2).Order("id").All()
31+
t.AssertNil(err)
32+
fmt.Println("page:1--------", result)
33+
gtest.Assert(len(result), 2)
34+
gtest.Assert(result[0]["ID"], 1)
35+
gtest.Assert(result[1]["ID"], 2)
36+
37+
result, err = db.Model(table).Page(2, 2).Order("id").All()
38+
t.AssertNil(err)
39+
fmt.Println("page: 2--------", result)
40+
gtest.Assert(len(result), 2)
41+
gtest.Assert(result[0]["ID"], 3)
42+
gtest.Assert(result[1]["ID"], 4)
43+
44+
result, err = db.Model(table).Page(3, 2).Order("id").All()
45+
t.AssertNil(err)
46+
fmt.Println("page:3 --------", result)
47+
gtest.Assert(len(result), 2)
48+
gtest.Assert(result[0]["ID"], 5)
49+
50+
result, err = db.Model(table).Page(2, 3).All()
51+
t.AssertNil(err)
52+
gtest.Assert(len(result), 3)
53+
})
54+
5355
}
5456

5557
func Test_Model_Insert(t *testing.T) {

contrib/drivers/oracle/oracle_z_unit_basic_test.go

+5-5
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ func Test_Tables(t *testing.T) {
2727
}
2828

2929
result, err := db.Tables(ctx)
30-
gtest.Assert(err, nil)
30+
gtest.AssertNil(err)
3131

3232
for i := 0; i < len(tables); i++ {
3333
find := false
@@ -41,7 +41,7 @@ func Test_Tables(t *testing.T) {
4141
}
4242

4343
result, err = db.Tables(ctx, TestSchema)
44-
gtest.Assert(err, nil)
44+
gtest.AssertNil(err)
4545
for i := 0; i < len(tables); i++ {
4646
find := false
4747
for j := 0; j < len(result); j++ {
@@ -76,7 +76,7 @@ func Test_Table_Fields(t *testing.T) {
7676
gtest.AssertNE(err, nil)
7777

7878
res, err := db.TableFields(ctx, "t_user")
79-
gtest.Assert(err, nil)
79+
gtest.AssertNil(err)
8080

8181
for k, v := range expect {
8282
_, ok := res[k]
@@ -88,7 +88,7 @@ func Test_Table_Fields(t *testing.T) {
8888
}
8989

9090
res, err = db.TableFields(ctx, "t_user", TestSchema)
91-
gtest.Assert(err, nil)
91+
gtest.AssertNil(err)
9292

9393
for k, v := range expect {
9494
_, ok := res[k]
@@ -121,7 +121,7 @@ func Test_Do_Insert(t *testing.T) {
121121
"CREATE_TIME": gtime.Now().String(),
122122
}
123123
_, err := db.Insert(ctx, "t_user", data)
124-
gtest.Assert(err, nil)
124+
gtest.AssertNil(err)
125125

126126
})
127127

contrib/drivers/oracle/oracle_z_unit_init_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ func createInitTable(table ...string) (name string) {
143143
})
144144
}
145145
result, err := db.Insert(context.Background(), name, array.Slice())
146-
gtest.Assert(err, nil)
146+
gtest.AssertNil(err)
147147

148148
n, e := result.RowsAffected()
149149
gtest.Assert(e, nil)

0 commit comments

Comments
 (0)