Skip to content

Commit 47f6da1

Browse files
committed
fix:ci
1 parent 815b54e commit 47f6da1

8 files changed

Lines changed: 75 additions & 42 deletions

File tree

.github/workflows/github-actions.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ jobs:
6666
run: |
6767
set -euo pipefail
6868
if [ "$GITHUB_EVENT_NAME" == "pull_request" ]; then
69-
BRANCH=${{ github.base_ref }}
69+
BRANCH=b3adb3362ae7a1f90db43f8575c1664203c1f134
7070
elif [ "$GITHUB_EVENT_NAME" == "push" ]; then
7171
BRANCH=$GITHUB_REF_NAME
7272
else

go.mod

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ module github.com/apache/dubbo-go-samples
33
go 1.25.0
44

55
require (
6-
dubbo.apache.org/dubbo-go/v3 v3.3.2-20260419
6+
dubbo.apache.org/dubbo-go/v3 v3.3.3-0.20260814125551-b3adb3362ae7
77
github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5
88
github.com/alibaba/sentinel-golang v1.0.4
99
github.com/apache/dubbo-go-extensions v0.0.0-20260312085545-de428af0b99e
10-
github.com/apache/dubbo-go-hessian2 v1.12.5
10+
github.com/apache/dubbo-go-hessian2 v1.13.2
1111
github.com/dubbogo/go-zookeeper v1.0.4-0.20211212162352-f9d2183d89d5
1212
github.com/dubbogo/gost v1.14.3
1313
github.com/gin-contrib/sessions v1.0.2
@@ -23,6 +23,7 @@ require (
2323
github.com/tmc/langchaingo v0.1.13
2424
go.opentelemetry.io/otel v1.43.0
2525
go.opentelemetry.io/otel/sdk v1.43.0
26+
go.opentelemetry.io/otel/trace v1.43.0
2627
go.opentelemetry.io/proto/otlp v1.0.0
2728
google.golang.org/grpc v1.81.1
2829
google.golang.org/protobuf v1.36.11
@@ -42,7 +43,7 @@ require (
4243
github.com/apolloconfig/agollo/v4 v4.4.0 // indirect
4344
github.com/beorn7/perks v1.0.1 // indirect
4445
github.com/bits-and-blooms/bitset v1.2.0 // indirect
45-
github.com/buger/jsonparser v1.1.1 // indirect
46+
github.com/buger/jsonparser v1.2.0 // indirect
4647
github.com/bytedance/sonic v1.11.6 // indirect
4748
github.com/bytedance/sonic/loader v0.1.1 // indirect
4849
github.com/cenkalti/backoff/v4 v4.2.1 // indirect
@@ -147,16 +148,16 @@ require (
147148
go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.21.0 // indirect
148149
go.opentelemetry.io/otel/exporters/zipkin v1.21.0 // indirect
149150
go.opentelemetry.io/otel/metric v1.43.0 // indirect
150-
go.opentelemetry.io/otel/trace v1.43.0 // indirect
151151
go.uber.org/atomic v1.10.0 // indirect
152152
go.uber.org/multierr v1.8.0 // indirect
153153
go.uber.org/zap v1.21.0 // indirect
154+
go.yaml.in/yaml/v4 v4.0.0-rc.6 // indirect
154155
golang.org/x/arch v0.8.0 // indirect
155156
golang.org/x/crypto v0.53.0 // indirect
156157
golang.org/x/net v0.56.0 // indirect
157158
golang.org/x/sync v0.21.0 // indirect
158159
golang.org/x/sys v0.46.0 // indirect
159-
golang.org/x/text v0.38.0 // indirect
160+
golang.org/x/text v0.39.0 // indirect
160161
golang.org/x/time v0.15.0 // indirect
161162
google.golang.org/genproto/googleapis/api v0.0.0-20260226221140-a57be14db171 // indirect
162163
google.golang.org/genproto/googleapis/rpc v0.0.0-20260622175928-b703f567277d // indirect

go.sum

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3f
4242
contrib.go.opencensus.io/exporter/prometheus v0.4.1/go.mod h1:t9wvfitlUjGXG2IXAZsuFq26mDGid/JwCEXp+gTG/9U=
4343
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
4444
dubbo.apache.org/dubbo-go/v3 v3.0.2-0.20220508105316-b27ec53b7bab/go.mod h1:Ytn9MtmsFYkpa1bzW/3loUFBgm7eJ3M3+XWRurhbBZc=
45-
dubbo.apache.org/dubbo-go/v3 v3.3.2-20260419 h1:CISYjDtf0O/SQF1vTGgsxAZUr6e9DFrhwNcminMxctQ=
46-
dubbo.apache.org/dubbo-go/v3 v3.3.2-20260419/go.mod h1:Qe82EjNDNMtLNDlaD5HI8KWEKwVlspLlRZb6Lx5hSMs=
45+
dubbo.apache.org/dubbo-go/v3 v3.3.3-0.20260814125551-b3adb3362ae7 h1:W1XLtSk0pfF7kllC9O9PLVpOmo4tOVArb+51/tl6C/Q=
46+
dubbo.apache.org/dubbo-go/v3 v3.3.3-0.20260814125551-b3adb3362ae7/go.mod h1:BBzGoBFK2CvEAPmIpNKei7whoU/PlaDqO75ylXnCQpY=
4747
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
4848
github.com/BurntSushi/toml v1.1.0 h1:ksErzDEI1khOiGPgpwuI7x2ebx/uXQNw7xJpn9Eq1+I=
4949
github.com/BurntSushi/toml v1.1.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
@@ -85,7 +85,6 @@ github.com/alibabacloud-go/tea v1.1.17/go.mod h1:nXxjm6CIFkBhwW4FQkNrolwbfon8Svy
8585
github.com/alibabacloud-go/tea-utils v1.4.4 h1:lxCDvNCdTo9FaXKKq45+4vGETQUKNOW/qKTcX9Sk53o=
8686
github.com/alibabacloud-go/tea-utils v1.4.4/go.mod h1:KNcT0oXlZZxOXINnZBs6YvgOd5aYp9U67G+E3R8fcQw=
8787
github.com/aliyun/alibaba-cloud-sdk-go v1.61.18/go.mod h1:v8ESoHo4SyHmuB4b1tJqDHxfTGEciD+yhvOU/5s1Rfk=
88-
github.com/aliyun/alibaba-cloud-sdk-go v1.61.1704/go.mod h1:RcDobYh8k5VP6TNybz9m++gL3ijVI5wueVr0EM10VsU=
8988
github.com/aliyun/alibaba-cloud-sdk-go v1.61.1800 h1:ie/8RxBOfKZWcrbYSJi2Z8uX8TcOlSMwPlEJh83OeOw=
9089
github.com/aliyun/alibaba-cloud-sdk-go v1.61.1800/go.mod h1:RcDobYh8k5VP6TNybz9m++gL3ijVI5wueVr0EM10VsU=
9190
github.com/aliyun/alibabacloud-dkms-gcs-go-sdk v0.2.2 h1:rWkH6D2XlXb/Y+tNAQROxBzp3a0p92ni+pXcaHBe/WI=
@@ -101,8 +100,8 @@ github.com/apache/dubbo-go-extensions v0.0.0-20260312085545-de428af0b99e/go.mod
101100
github.com/apache/dubbo-go-hessian2 v1.9.1/go.mod h1:xQUjE7F8PX49nm80kChFvepA/AvqAZ0oh/UaB6+6pBE=
102101
github.com/apache/dubbo-go-hessian2 v1.9.3/go.mod h1:xQUjE7F8PX49nm80kChFvepA/AvqAZ0oh/UaB6+6pBE=
103102
github.com/apache/dubbo-go-hessian2 v1.11.0/go.mod h1:7rEw9guWABQa6Aqb8HeZcsYPHsOS7XT1qtJvkmI6c5w=
104-
github.com/apache/dubbo-go-hessian2 v1.12.5 h1:19lJz2Md0EYF2bOtEvFqXEQRYvLz04GfsoocsBWlLWQ=
105-
github.com/apache/dubbo-go-hessian2 v1.12.5/go.mod h1:QP9Tc0w/B/mDopjusebo/c7GgEfl6Lz8jeuFg8JA6yw=
103+
github.com/apache/dubbo-go-hessian2 v1.13.2 h1:A15pmQMReoT0ho74j/B4m+mhCs+bngqyCGXDOvUwxmY=
104+
github.com/apache/dubbo-go-hessian2 v1.13.2/go.mod h1:BBLS7rwDB/q+xPJs5T66iyUI6TuAQC/m0mqok+JtEj0=
106105
github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=
107106
github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=
108107
github.com/apolloconfig/agollo/v4 v4.4.0 h1:bIIRTEN4f7HgLx97/cNpduEvP9qQ7BkCyDOI2j800VM=
@@ -138,8 +137,9 @@ github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edY
138137
github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84=
139138
github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM=
140139
github.com/buger/jsonparser v0.0.0-20181115193947-bf1c66bbce23/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s=
141-
github.com/buger/jsonparser v1.1.1 h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs=
142140
github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0=
141+
github.com/buger/jsonparser v1.2.0 h1:4EFcvK1kD4jyj6YqNK6skK6w+y7FHHBR+XBCtxwu/6g=
142+
github.com/buger/jsonparser v1.2.0/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0=
143143
github.com/bytedance/sonic v1.11.6 h1:oUp34TzMlL+OY1OUWxHqsdkgC/Zfc85zGqw9siXjrc0=
144144
github.com/bytedance/sonic v1.11.6/go.mod h1:LysEHSvpvDySVdC2f87zGWf6CIKJcAvqab1ZaiQtds4=
145145
github.com/bytedance/sonic/loader v0.1.1 h1:c+e5Pt1k/cy5wMveRDyk2X4B9hF4g7an8N3zCYjJFNM=
@@ -226,7 +226,6 @@ github.com/dubbogo/gost v1.11.18/go.mod h1:vIcP9rqz2KsXHPjsAwIUtfJIJjppQLQDcYaZT
226226
github.com/dubbogo/gost v1.11.23/go.mod h1:PhJ8+qZJx+Txjx1KthNPuVkCvUca0jRLgKWj/noGgeI=
227227
github.com/dubbogo/gost v1.11.25/go.mod h1:iovrPhv0hyakhQGVr4jwiECBL9HXNuBY4VV3HWK5pM0=
228228
github.com/dubbogo/gost v1.12.5/go.mod h1:f0bcP1xpBUdDgiNjNYKF6F3qlA+RFKs0k980FhoEn/g=
229-
github.com/dubbogo/gost v1.13.1/go.mod h1:9HMXBv+WBMRWhF3SklpqDjkS/01AKWm2SrVdz/A0xJI=
230229
github.com/dubbogo/gost v1.14.3 h1:bInkIjdImMo9ENTDdCcs4YlQ/vz5rP/rjcnLakK5x24=
231230
github.com/dubbogo/gost v1.14.3/go.mod h1:WydBuEOkwKEm9mcWLlOnmsVe1ELFgrNPmC5SzXdPv4A=
232231
github.com/dubbogo/grpc-go v1.42.9/go.mod h1:F1T9hnUvYGW4JLK1QNriavpOkhusU677ovPzLkk6zHM=
@@ -692,7 +691,6 @@ github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRW
692691
github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
693692
github.com/nacos-group/nacos-sdk-go v1.0.8/go.mod h1:hlAPn3UdzlxIlSILAyOXKxjFSvDJ9oLzTJ9hLAK1KzA=
694693
github.com/nacos-group/nacos-sdk-go v1.1.1/go.mod h1:UHOtQNQY/qpk2dhg6gDq8u5+/CEIc3+lWmrmxEzX0/g=
695-
github.com/nacos-group/nacos-sdk-go/v2 v2.1.2/go.mod h1:ys/1adWeKXXzbNWfRNbaFlX/t6HVLWdpsNDvmoWTw0g=
696694
github.com/nacos-group/nacos-sdk-go/v2 v2.2.5 h1:r0wwT7PayEjvEHzWXwr1ROi/JSqzujM4w+1L5ikThzQ=
697695
github.com/nacos-group/nacos-sdk-go/v2 v2.2.5/go.mod h1:OObBon0prVJVPoIbSZxpEkFiBfL0d1LcBtuAMiNn+8c=
698696
github.com/natefinch/lumberjack v2.0.0+incompatible h1:4QJd3OLAMgj7ph+yZTuX13Ld4UpgHp07nNdFX7mqFfM=
@@ -778,7 +776,6 @@ github.com/prometheus/client_golang v1.9.0/go.mod h1:FqZLKOZnGdFAhOK4nqGHa7D66Id
778776
github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0=
779777
github.com/prometheus/client_golang v1.11.1/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0=
780778
github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY=
781-
github.com/prometheus/client_golang v1.12.2/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY=
782779
github.com/prometheus/client_golang v1.19.1 h1:wZWJDwK+NameRJuPGDhlnFgx8e8HN3XHQeLaYJFJBOE=
783780
github.com/prometheus/client_golang v1.19.1/go.mod h1:mP78NwGzrVks5S2H6ab8+ZZGJLZUq1hoULYBAYBw1Ho=
784781
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
@@ -1056,6 +1053,8 @@ go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo=
10561053
go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI=
10571054
go.uber.org/zap v1.21.0 h1:WefMeulhovoZ2sYXz7st6K0sLj7bBhpiFaud4r4zST8=
10581055
go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw=
1056+
go.yaml.in/yaml/v4 v4.0.0-rc.6 h1:1h7H1ohdUh93/FyE4YaDa1Zh64K6VVbjF4K6WUxMtH4=
1057+
go.yaml.in/yaml/v4 v4.0.0-rc.6/go.mod h1:aZqd9kCMsGL7AuUv/m/PvWLdg5sjJsZ4oHDEnfPPfY0=
10591058
golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8=
10601059
golang.org/x/arch v0.8.0 h1:3wRIsP3pM4yUptoR96otTUOXI367OS0+c9eeRi9doIc=
10611060
golang.org/x/arch v0.8.0/go.mod h1:FEVrYAQjsQXMVJ1nsMoVVXPZg6p2JE2mx8psSWTDQys=
@@ -1322,15 +1321,14 @@ golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
13221321
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
13231322
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
13241323
golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
1325-
golang.org/x/text v0.38.0 h1:sXmwo9DwP3OK9EZ7PqAdaooSGozfl/3a6/xJcbzPRhE=
1326-
golang.org/x/text v0.38.0/go.mod h1:YXZt3QhHUKYT53r2lLKFIVi6Ao1jdzrTR/KQ09qyxF4=
1324+
golang.org/x/text v0.39.0 h1:UbZz4pLOvn600D6Oh6GGEI6VAmndrEBLv8/6BEXzyus=
1325+
golang.org/x/text v0.39.0/go.mod h1:3UwRclnC2g0TU9x8PZiyfOajCd1zaUNHF9cvqcQZ+ZM=
13271326
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
13281327
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
13291328
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
13301329
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
13311330
golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
13321331
golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
1333-
golang.org/x/time v0.0.0-20220722155302-e5dcc9cfc0b9/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
13341332
golang.org/x/time v0.15.0 h1:bbrp8t3bGUeFOx08pvsMYRTCVSMk89u4tKbNOZbp88U=
13351333
golang.org/x/time v0.15.0/go.mod h1:Y4YMaQmXwGQZoFaVFk4YpCt4FLQMYKZe9oeV/f4MSno=
13361334
golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -1535,7 +1533,6 @@ google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ5
15351533
google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ=
15361534
google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk=
15371535
google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk=
1538-
google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk=
15391536
google.golang.org/grpc v1.81.1 h1:VnnIIZ88UzOOKLukQi+ImGz8O1Wdp8nAGGnvOfEIWQQ=
15401537
google.golang.org/grpc v1.81.1/go.mod h1:xGH9GfzOyMTGIOXBJmXt+BX/V0kcdQbdcuwQ/zNw42I=
15411538
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=

graceful_shutdown/go-server/cmd/main.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,10 @@ package main
1919

2020
import (
2121
"context"
22+
"errors"
2223
"flag"
2324
"fmt"
25+
"net/http"
2426
"os"
2527
"sync"
2628
"time"
@@ -167,7 +169,7 @@ func main() {
167169

168170
logger.Info("Triple server started, press Ctrl+C to trigger graceful shutdown")
169171

170-
if err := srv.Serve(); err != nil {
172+
if err := srv.Serve(); err != nil && !errors.Is(err, http.ErrServerClosed) {
171173
panic(fmt.Sprintf("failed to serve: %v", err))
172174
}
173175
}

integrate_test.sh

Lines changed: 51 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ PROJECT_NAME="$(basename "$P_DIR")"
2929
GO_SERVER_LOG="/tmp/.${PROJECT_NAME}.go-server.log"
3030
JAVA_SERVER_LOG="/tmp/.${PROJECT_NAME}.java-server.log"
3131
PID_FILE="/tmp/.${PROJECT_NAME}.pid"
32+
GO_CLIENT_BIN=""
3233
GO_CLIENT_TIMEOUT_SECONDS="${GO_CLIENT_TIMEOUT_SECONDS:-90}"
3334
JAVA_SERVER_READY_TIMEOUT_SECONDS="${JAVA_SERVER_READY_TIMEOUT_SECONDS:-60}"
3435
JAVA_SERVER_HOST="${JAVA_SERVER_HOST:-127.0.0.1}"
@@ -47,6 +48,7 @@ GO_AUX_PIDS=()
4748
SAMPLE_COMPOSE_FILE=""
4849
SAMPLE_COMPOSE_SERVICES=()
4950
DOCKER_COMPOSE_CMD=()
51+
OBSERVABILITY_SEMANTICS_VERIFIED=false
5052

5153
if [ "$SAMPLE" = "observability/integration" ]; then
5254
SAMPLE_COMPOSE_FILE="$P_DIR/docker-compose.yaml"
@@ -89,6 +91,9 @@ cleanup() {
8991
if [ -n "$SAMPLE_COMPOSE_FILE" ]; then
9092
wait_for_tcp_port_closed "127.0.0.1" "4318" 30 || true
9193
fi
94+
if [ -n "$GO_CLIENT_BIN" ]; then
95+
rm -f "$GO_CLIENT_BIN"
96+
fi
9297
run_make_target stop >/dev/null 2>&1 || true
9398
}
9499
trap cleanup EXIT
@@ -150,10 +155,14 @@ verify_observability_semantics() {
150155
return 0
151156
fi
152157

158+
local client_pid="${1:-}"
159+
153160
echo "Verifying observability telemetry semantics before teardown..."
154-
if ! python3 <<'PY'
161+
if ! python3 - "${client_pid:-}" <<'PY'
155162
import base64
156163
import json
164+
import os
165+
import sys
157166
import time
158167
import urllib.request
159168
@@ -233,6 +242,12 @@ pending = checks
233242
last_errors = {}
234243
deadline = time.monotonic() + 90
235244
while pending and time.monotonic() < deadline:
245+
if sys.argv[1]:
246+
try:
247+
os.kill(int(sys.argv[1]), 0)
248+
except OSError:
249+
print("observability client exited before semantic verification completed")
250+
raise SystemExit(1)
236251
next_pending = []
237252
for check, description in pending:
238253
try:
@@ -433,19 +448,44 @@ run_go_client() {
433448
fi
434449

435450
local client_conf
451+
local client_args=()
436452
client_conf="$(resolve_config_path "go-client" || true)"
437453

454+
if [ "$SAMPLE" = "observability/integration" ]; then
455+
# Keep the client alive while the semantic checks poll its metrics target.
456+
# The test stops it only after Prometheus, Jaeger, and Grafana are verified.
457+
client_args=(-requests 0 -interval 500ms)
458+
GO_CLIENT_BIN="/tmp/.${PROJECT_NAME}.go-client.bin"
459+
fi
460+
438461
echo "Running Go client..."
439462
(
440463
cd "$P_DIR"
441464
if [ -n "$client_conf" ]; then
442465
export DUBBO_GO_CONFIG_PATH="$client_conf"
443466
fi
444-
go run ./go-client/cmd/*.go
467+
if [ "$SAMPLE" = "observability/integration" ]; then
468+
go build -o "$GO_CLIENT_BIN" ./go-client/cmd
469+
exec "$GO_CLIENT_BIN" "${client_args[@]}"
470+
fi
471+
go run ./go-client/cmd/*.go "${client_args[@]}"
445472
) &
446473
local go_client_pid=$!
447474
local elapsed=0
448475

476+
if [ "$SAMPLE" = "observability/integration" ]; then
477+
if ! verify_observability_semantics "$go_client_pid"; then
478+
echo "Observability telemetry semantic verification failed for: $SAMPLE"
479+
kill_if_running "$go_client_pid"
480+
wait "$go_client_pid" 2>/dev/null || true
481+
return 1
482+
fi
483+
kill_if_running "$go_client_pid"
484+
wait "$go_client_pid" 2>/dev/null || true
485+
OBSERVABILITY_SEMANTICS_VERIFIED=true
486+
return 0
487+
fi
488+
449489
while kill -0 "$go_client_pid" 2>/dev/null; do
450490
if [ "$elapsed" -ge "$GO_CLIENT_TIMEOUT_SECONDS" ]; then
451491
echo "Go client timed out after ${GO_CLIENT_TIMEOUT_SECONDS}s: $SAMPLE"
@@ -622,13 +662,13 @@ run_graceful_shutdown_sample() {
622662
cd "$P_DIR"
623663
exec "$server_bin" \
624664
-timeout=25s \
625-
-step-timeout=12s \
665+
-step-timeout=20s \
626666
-consumer-update-wait=0s \
627667
-offline-window=0s \
628668
-delay=3s \
629669
-ignore-context-cancel=true \
630670
-shutdown-on-first-greet=true \
631-
-reject-probe-window=8s
671+
-reject-probe-window=12s
632672
) >"$GO_SERVER_LOG" 2>&1 &
633673
server_pid="$!"
634674
echo "$server_pid" >"$PID_FILE"
@@ -662,7 +702,7 @@ run_graceful_shutdown_sample() {
662702
return 1
663703
}
664704

665-
if ! grep -q "Greet request finished, name=integration-inflight-1" "$GO_SERVER_LOG"; then
705+
if ! wait_for_log_pattern "$GO_SERVER_LOG" "Greet request finished, name=integration-inflight-1" 30; then
666706
echo "graceful_shutdown in-flight request did not finish in the provider"
667707
cat "$inflight_client_log" || true
668708
cat "$GO_SERVER_LOG" || true
@@ -700,7 +740,7 @@ run_graceful_shutdown_sample() {
700740
return 1
701741
fi
702742

703-
if ! grep -q "The application is closing, new request will be rejected." "$GO_SERVER_LOG"; then
743+
if ! wait_for_log_pattern "$GO_SERVER_LOG" "The application is closing, new request will be rejected." 30; then
704744
echo "graceful_shutdown reject-stage probe was not rejected by the framework provider filter"
705745
cat "$reject_client_log" || true
706746
cat "$GO_SERVER_LOG" || true
@@ -736,18 +776,13 @@ main() {
736776
start_sample_dependencies
737777
start_aux_go_servers
738778

739-
if [ "$SAMPLE" = "observability/integration" ]; then
740-
if ! run_go_client; then
741-
echo "Observability integration client validation failed for: $SAMPLE"
742-
return 1
743-
fi
744-
else
745-
run_go_client
746-
fi
779+
run_go_client
747780
run_java_client_if_present
748781

749-
if ! verify_observability_semantics; then
750-
return 1
782+
if [ "$OBSERVABILITY_SEMANTICS_VERIFIED" != "true" ]; then
783+
if ! verify_observability_semantics; then
784+
return 1
785+
fi
751786
fi
752787

753788
if [ -n "$SAMPLE_COMPOSE_FILE" ]; then

router/condition/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ to [install and run Nacos](https://dubbo-next.staged.apache.org/zh-cn/overview/r
2222
In this example, you will run two servers on ports 20000 and 20001 respectively.
2323

2424
```shell
25-
$ go run ./go-server/cmd/server.go # port 20000
26-
$ go run ./go-node2-server/cmd/server_node2.go # port 20001
25+
$ go run ./go-server/cmd/server.go # port 20001
26+
$ go run ./go-node2-server/cmd/server_node2.go # port 20000
2727
```
2828

2929
### Run client (Consumer)

router/condition/README_CN.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
在这个示例中,你将运行两个服务端,分别在20000以及20001端口上提供服务。
2222

2323
```shell
24-
$ go run ./go-server/cmd/server.go # 20000端口
25-
$ go run ./go-node2-server/cmd/server_node2.go # 20001端口
24+
$ go run ./go-server/cmd/server.go # 20001端口
25+
$ go run ./go-node2-server/cmd/server_node2.go # 20000端口
2626
```
2727

2828
### 运行客户端(Consumer)

router/tag/go-client/cmd/client.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,6 @@ func main() {
7575
ctx := context.WithValue(context.Background(), constant.AttachmentKey, atta)
7676

7777
rep, err := svc.Greet(ctx, &greet.GreetRequest{Name: name})
78-
// temporarily cancel checking for result, for PR # 3208 (https://github.com/apache/dubbo-go/pull/3208)
79-
// hasn't been merged to main branch yet, thus tag router still not works properly.
8078

8179
if err != nil {
8280
logger.Errorf("❌ invoke failed: %v", err)

0 commit comments

Comments
 (0)