Benjamin Wang
62167d1f1f
clientv3: fix the design & implementation of double barrier
...
Check the client count before creating the ephemeral key, do not
create the key if there are already too many clients. Check the
count after creating the key again, if the total kvs is bigger
than the expected count, then check the rev of the current key,
and take action accordingly based on its rev. If its rev is in
the first ${count}, then it's valid client, otherwise, it should
fail.
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-10-20 16:24:20 +08:00
happlins
8a587447d2
clientv3: fix errors init client RejectOldCluster
...
Signed-off-by: happlins <happlins@foxmail.com>
2022-10-13 17:24:24 +08:00
Benjamin Wang
1d77b4bd32
Merge pull request #14556 from tomari/tomari/watch-backoff
...
client/v3: Add backoff before retry when watch stream returns unavailable
2022-10-13 02:10:25 +08:00
Benjamin Wang
5746d6eb86
etcdserver: added more debug log for the purgeFile goroutine
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-10-12 17:32:33 +08:00
Hisanobu Tomari
428fb9623a
client/v3: Add backoff before retry when watch stream returns unavailable
...
The client retries connection without backoff when the server is gone
after the watch stream is established. This results in high CPU usage
in the client process. This change introduces backoff when the stream is
failed and unavailable.
Signed-off-by: Hisanobu Tomari <posco.grubb@gmail.com>
2022-10-08 06:57:30 +09:00
Chao Chen
8d057ea2b8
common tests framework: cluster client creation fail with invalid auth
...
Signed-off-by: Chao Chen <chaochn@amazon.com>
2022-09-29 23:09:32 -07:00
Kafuu Chino
f1d4935e91
*: avoid closing a watch with ID 0 incorrectly
...
Signed-off-by: Kafuu Chino <KafuuChinoQ@gmail.com>
add test
2022-09-26 20:30:33 +08:00
Benjamin Wang
7f10dccbaf
Bump go 1.19: update all the dependencies and go.sum files
...
1. run ./scripts/fix.sh;
2. cd tools/mod; gofmt -w . & go mod tidy;
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-09-22 08:47:46 +08:00
Benjamin Wang
cd0b1d0c66
Bump go 1.19: upgrade go version to 1.19 in all go.mod files
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-09-22 08:47:46 +08:00
Marek Siarkowicz
026794495f
Merge pull request #14494 from demoManito/remove/redundant-type-conversion
...
etcd: remove redundant type conversion
2022-09-21 11:34:19 +02:00
Benjamin Wang
2441a24cee
Merge pull request #14493 from demoManito/style/format-import-order
...
etcd: format import order
2022-09-21 06:03:31 +08:00
demoManito
f67ec10779
etcd: format import order
...
golang CodeReviewComments:
https://github.com/golang/go/wiki/CodeReviewComments#imports
Signed-off-by: demoManito <1430482733@qq.com>
2022-09-20 18:41:39 +08:00
demoManito
a9c3d56508
etcd: remove redundant type conversion
...
Signed-off-by: demoManito <1430482733@qq.com>
2022-09-20 11:26:02 +08:00
Benjamin Wang
159ed15afc
Merge pull request #14479 from demoManito/fix/declaring-empty-slice
...
etcd: modify declaring empty slices
2022-09-20 05:22:59 +08:00
Hitoshi Mitake
c793f18238
Merge pull request #14322 from mitake/watch-auth-err
...
*: handle auth invalid token and old revision errors in watch
2022-09-19 23:33:49 +09:00
Hitoshi Mitake
2dcfa83094
*: handle auth invalid token and old revision errors in watch
...
Signed-off-by: Hitoshi Mitake <h.mitake@gmail.com>
2022-09-17 21:51:36 +09:00
Sahdev Zala
cdf4228673
Merge pull request #14308 from dusk125/main
...
server/etcdmain: add configurable cipher list to gRPC proxy listener
2022-09-16 12:15:08 -04:00
demoManito
5b26fc0101
fix test
...
Signed-off-by: demoManito <1430482733@qq.com>
2022-09-16 17:08:29 +08:00
demoManito
72cf0cc04a
etcd: modify declaring empty slices
...
declare an empty slice to var s []int replace s :=[]int{}, https://github.com/golang/go/wiki/CodeReviewComments#declaring-empty-slices
Signed-off-by: demoManito <1430482733@qq.com>
2022-09-16 14:41:14 +08:00
Benjamin Wang
47d460b8dc
add verification on nil log
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-09-13 17:11:36 +08:00
Babis Kaidos
0eb642c4d9
Mockserver can handle requests to the leases API
...
This should allow clients using the leases API to perform UTs.
Fixes #14426
Signed-off-by: Babis Kaidos <babis_k@outlook.com>
2022-09-06 18:48:51 +03:00
Allen Ray
c52108942b
Merge branch 'main' into main
2022-08-29 12:07:27 -04:00
Justin Kolberg
295044fba2
clientv3: close streams after use in lessor keepAliveOnce method
...
Streams are now closed after being used in the lessor `keepAliveOnce` method.
This prevents the "failed to receive lease keepalive request from gRPC stream"
message from being logged by the server after the context is cancelled by the
client.
Signed-off-by: Justin Kolberg <amd.prophet@gmail.com>
2022-08-17 18:02:13 -07:00
Benjamin Wang
74506738b8
Refactor the keepAliveListener and keepAliveConn
...
Only `net.TCPConn` supports `SetKeepAlive` and `SetKeepAlivePeriod`
by default, so if you want to warp multiple layers of net.Listener,
the `keepaliveListener` should be the one which is closest to the
original `net.Listener` implementation, namely `TCPListener`.
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-08-18 04:24:05 +08:00
Sam Batschelet
76a5902efa
server/etcdmain: add configurable cipher list to gRPC proxy listener
...
Signed-off-by: Allen Ray <alray@redhat.com>
2022-08-17 10:56:27 -04:00
Chao Chen
d4778e78c8
more logging around auto sync
...
Signed-off-by: Chao Chen <chaochn@amazon.com>
2022-08-10 18:00:06 -07:00
Benjamin Wang
b2726c4da3
Merge pull request #12469 from trawler/client_listen_unix_socket
...
pkg/types: Support Unix sockets in NewURLS
2022-08-09 06:40:31 +08:00
QianChenglong
8e1e118fea
clientv3: fix --insecure-skip-tls-verify not working when not specify --cert-path and --key-path
...
Fixes 14315
Signed-off-by: QianChenglong <qian_cheng_long@163.com>
2022-08-08 16:24:12 +08:00
Benjamin Wang
f6cfd465cc
No need to manually remove tmp directory created by t.TempDir()
...
The temporary directory created by t.TempDir() can be automatically removed by
the golang testing utilities. So no need to remove it manually.
FYI.
https://github.com/golang/go/blob/go1.16.15/src/testing/testing.go#L911-L915
https://github.com/golang/go/blob/go1.16.15/src/testing/testing.go#L957
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-07-21 08:20:52 +08:00
Benjamin Wang
16c10d6910
Merge pull request #14203 from Jille/patch-1
...
clientv3: Fix parsing of ETCD_CLIENT_DEBUG
2022-07-14 05:54:04 +08:00
Jille Timmermans
ac3f913dad
Improve error message for incorrect values of ETCD_CLIENT_DEBUG
...
Signed-off-by: Jille Timmermans <jille@quis.cx>
2022-07-13 18:55:51 +02:00
Jille Timmermans
e3fd58df46
clientv3: Fix parsing of ETCD_CLIENT_DEBUG
...
It checked `err == nil` rather than `err != nil`.
Signed-off-by: Jille Timmermans <jille@quis.cx>
2022-07-10 11:21:15 +02:00
sky li (李少凯)-浪潮数据
c4e89b4186
Fix syntax errors in comments
...
Signed-off-by: sky li (李少凯)-浪潮数据 <lishaokai1995@126.com>
2022-07-08 09:48:13 +08:00
Sahdev Zala
8637c54bcc
Client: fix check for WithPrefix op
...
Make sure that WithPrefix correctly set the flag, and add test.
Also, add test for WithFromKey.
fixes #14056
Signed-off-by: Sahdev Zala <spzala@us.ibm.com>
2022-06-29 17:52:05 -04:00
chavacava
0887d9acf1
fix #14161
...
Signed-off-by: chavacava <salvadorcavadini+github@gmail.com>
2022-06-25 10:09:05 +00:00
Piotr Tabor
88cd0fe695
Refresh minor dependencies.
...
Signed-off-by: Piotr Tabor <ptab@google.com>
2022-06-17 10:23:03 +02:00
Piotr Tabor
e7a84b69c8
Update zap to 1.21.
...
Signed-off-by: Piotr Tabor <ptab@google.com>
2022-06-17 10:05:25 +02:00
Piotr Tabor
8ac23dad88
Merge pull request #14125 from ptabor/20220615-update-grpc2
...
Update to grpc-1.47 (and fix the connection-string format)
2022-06-17 10:04:11 +02:00
Piotr Tabor
17c1dcd614
Update grpc to 1.47 and go-cmp to 0.5.8.
...
Signed-off-by: Piotr Tabor <ptab@google.com>
2022-06-17 08:57:22 +02:00
Benjamin Wang
8038e876d3
replace ioutil with os package
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-06-17 10:11:30 +08:00
Benjamin Wang
ccf477d12b
restrict the max size of each WAL entry to the remaining size of the file
...
Currently the max size of each WAL entry is hard coded as 10MB. If users
set a value > 10MB for the flag --max-request-bytes, then etcd may run
into a situation that it successfully processes a big request, but fails
to decode it when replaying the WAL file on startup.
On the other hand, we can't just remove the limitation, because if a
WAL entry is somehow corrupted, and its recByte is a huge value, then
etcd may run out of memory. So the solution is to restrict the max size
of each WAL entry as a dynamic value, which is the remaining size of
the WAL file.
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-06-17 05:41:49 +08:00
Benjamin Wang
d23917c576
Add FileReader and FileBufReader utilities
...
The FileReader interface is the wrapper of io.Reader. It provides
the fs.FileInfo as well. The FileBufReader struct is the wrapper of
bufio.Reader, it also provides fs.FileInfo.
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-06-16 15:32:16 +08:00
ahrtr
4fc9721fa6
provide a generic assert function
2022-05-13 10:50:19 +08:00
Marek Siarkowicz
d58f971895
tests: Use zaptest.NewLogger in places we missed
2022-05-06 12:23:20 +02:00
ahrtr
fb2eeb9027
verify consistent_index in snapshot must be equal to the snapshot index
...
Usually the consistent_index should be greater than the index of the
latest snapshot with suffix .snap. But for the snapshot coming from the
leader, the consistent_index should be equal to the snapshot index.
2022-05-03 20:02:47 +08:00
Marek Siarkowicz
d849269dab
Merge pull request #13986 from Sea-n/fix-md
...
doc: Fix Markdown code block
2022-04-25 13:01:29 +02:00
Sean Wei
6d133aaf6a
doc: Fix Markdown code block
2022-04-25 15:06:38 +08:00
Piotr Tabor
d69e07dd3a
Verification framework and check whether cindex is not decreasing.
2022-04-22 12:32:05 +02:00
Jordan Liggitt
f07745a21c
Add unit test for canonical SRV records
2022-04-18 08:48:42 -04:00
Jordan Liggitt
d02a5363b3
Revert "trim the suffix dot from the srv.Target for etcd-client DNS lookup"
...
This reverts commit 5fc0092c877ad1989a7070e67df2a3e3b73364be.
2022-04-18 08:48:42 -04:00