1fdfb42 | Benjamin Wang | 14 December 2022, 18:12:49 UTC | clientv3: revert the client side change in 14547 In order to fix https://github.com/etcd-io/etcd/issues/12385, PR https://github.com/etcd-io/etcd/pull/14322 introduced a change in which the client side may retry based on the error message returned from server side. This is not good, as it's too fragile and it's also changed the protocol between client and server. Please see the discussion in https://github.com/kubernetes/kubernetes/pull/114403 Note: The issue https://github.com/etcd-io/etcd/issues/12385 only happens when auth is enabled, and client side reuse the same client to watch. So we decided to rollback the change on 3.5, reasons: 1.K8s doesn't enable auth at all. It has no any impact on K8s. 2.It's very easy for client application to workaround the issue. The client just needs to create a new client each time before watching. Signed-off-by: Benjamin Wang <wachao@vmware.com> | 14 December 2022, 18:12:49 UTC |
127e9c0 | Benjamin Wang | 06 December 2022, 20:28:30 UTC | Merge pull request #14899 from ahrtr/fix_readyonly_txn_panic_3.5_20221206 [3.5] etcdserver: fix nil pointer panic for readonly txn | 06 December 2022, 20:28:30 UTC |
c1a8997 | Benjamin Wang | 06 December 2022, 10:04:29 UTC | etcdserver: fix nil pointer panic for readonly txn Backporting https://github.com/etcd-io/etcd/pull/14895 Signed-off-by: Benjamin Wang <wachao@vmware.com> | 06 December 2022, 10:16:49 UTC |
0b47579 | Benjamin Wang | 05 December 2022, 23:20:52 UTC | Merge pull request #14884 from mehvaibh/release-3.5 [3.5] Backport: non mutating requests pass through quotaKVServer when NOSPACE | 05 December 2022, 23:20:52 UTC |
22f599a | Vaibhav Mehta | 05 December 2022, 21:00:34 UTC | Fix go fmt error Signed-off-by: Vaibhav Mehta <mehvaibh@amazon.com> | 05 December 2022, 21:04:09 UTC |
378ad6b | Chao Chen | 22 October 2021, 23:36:37 UTC | [3.5] Backport: non mutating requests pass through quotaKVServer when NOSPACE Signed-off-by: Vaibhav Mehta <mehvaibh@amazon.com> | 05 December 2022, 21:04:09 UTC |
5454ca6 | Benjamin Wang | 25 November 2022, 10:14:19 UTC | Merge pull request #14852 from ahrtr/remove_memberid_alarm_3.5_20221125 [3.5] etcdserver: intentionally set the memberID as 0 in corruption alarm | 25 November 2022, 10:14:19 UTC |
ba122c9 | Benjamin Wang | 25 November 2022, 07:43:44 UTC | etcdserver: intentionally set the memberID as 0 in corruption alarm Signed-off-by: Benjamin Wang <wachao@vmware.com> | 25 November 2022, 08:23:37 UTC |
cecbe35 | Marek Siarkowicz | 21 November 2022, 14:54:14 UTC | version: bump up to 3.5.6 | 21 November 2022, 14:54:14 UTC |
d0424a7 | Marek Siarkowicz | 21 November 2022, 14:46:06 UTC | Merge pull request #14816 from serathius/trim-v3.5 [3.5] trim build path | 21 November 2022, 14:46:06 UTC |
1a9742c | Dirkjan Bussink | 22 December 2021, 08:59:40 UTC | release: build with consistent paths This changes the builds to always add -trimpath which removes specific build time paths from the binary (like current directories etc). Improves build reproducability to make the final binary independent from the specific build path. Lastly, when stripping debug symbols, also add -w to strip DWARF symbols as well which aren't needed in that case either. Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com> | 21 November 2022, 14:19:51 UTC |
7ccca08 | Marek Siarkowicz | 17 November 2022, 14:39:42 UTC | Merge pull request #14799 from serathius/fix-client-fileutil-log [3.5] client/pkg/fileutil: add missing logger to {Create,Touch}DirAll | 17 November 2022, 14:39:42 UTC |
c919780 | Aleksandr Razumov | 07 October 2021, 14:49:13 UTC | client/pkg/fileutil: add missing logger to {Create,Touch}DirAll Also populate it to every invocation. Signed-off-by: WangXiaoxiao <1141195807@qq.com> Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> | 17 November 2022, 13:08:30 UTC |
b282163 | Marek Siarkowicz | 17 November 2022, 09:16:42 UTC | Merge pull request #14790 from ahrtr/auth_3.5_20221117 [3.5] clientv3: do not refresh token when users use CommonName based authentication | 17 November 2022, 09:16:42 UTC |
4097c24 | Benjamin Wang | 16 November 2022, 22:53:45 UTC | test: add test case to cover the CommonName based authentication Refer to https://github.com/etcd-io/etcd/issues/14764 Signed-off-by: Benjamin Wang <wachao@vmware.com> | 17 November 2022, 01:10:49 UTC |
9849fa7 | Benjamin Wang | 16 November 2022, 21:56:43 UTC | test: add certificate with root CommonName Signed-off-by: Benjamin Wang <wachao@vmware.com> | 16 November 2022, 21:56:43 UTC |
69aace2 | Benjamin Wang | 16 November 2022, 21:54:52 UTC | clientv3: do not refresh token when using TLS CommonName based authentication When users use the TLS CommonName based authentication, the authTokenBundle is always nil. But it's possible for the clients to get `rpctypes.ErrAuthOldRevision` response when the clients concurrently modify auth data (e.g, addUser, deleteUser etc.). In this case, there is no need to refresh the token; instead the clients just need to retry the operations (e.g. Put, Delete etc). Signed-off-by: Benjamin Wang <wachao@vmware.com> | 16 November 2022, 21:54:52 UTC |
5f387e6 | Benjamin Wang | 14 November 2022, 09:54:22 UTC | Merge pull request #14733 from ahrtr/rev_inconsistency_3.5 [3.5] etcdserver: call the OnPreCommitUnsafe in unsafeCommit | 14 November 2022, 09:54:22 UTC |
563713e | Benjamin Wang | 11 November 2022, 09:35:26 UTC | etcdserver: call the OnPreCommitUnsafe in unsafeCommit `unsafeCommit` is called by both `(*batchTxBuffered) commit` and `(*backend) defrag`. When users perform the defragmentation operation, etcd doesn't update the consistent index. If etcd crashes(e.g. panicking) in the process for whatever reason, then etcd replays the WAL entries starting from the latest snapshot, accordingly it may re-apply entries which might have already been applied, eventually the revision isn't consistent with other members. Refer to discussion in https://github.com/etcd-io/etcd/pull/14685 Signed-off-by: Benjamin Wang <wachao@vmware.com> | 11 November 2022, 09:35:26 UTC |
c2378be | Benjamin Wang | 05 November 2022, 08:51:01 UTC | Merge pull request #13748 from kkkkun/add-warning-for-del add warning message when delete to release-3.5 | 05 November 2022, 08:51:01 UTC |
6797856 | kkkkun | 05 November 2022, 06:33:26 UTC | add range flag for delete in etcdctl Signed-off-by: kkkkun <scuzk373x@gmail.com> | 05 November 2022, 06:33:37 UTC |
cc6a082 | Hitoshi Mitake | 02 November 2022, 14:16:11 UTC | Merge pull request #14658 from ahrtr/double_barrier_3.5 [3.5] clientv3: fix the implementation of double barrier | 02 November 2022, 14:16:11 UTC |
2770720 | Benjamin Wang | 01 November 2022, 23:56:06 UTC | Merge pull request #14676 from cenkalti/release-3.5 server: add more context to panic message | 01 November 2022, 23:56:06 UTC |
be4adc0 | Cenk Alti | 01 November 2022, 23:02:28 UTC | server: add more context to panic message Signed-off-by: Cenk Alti <cenkalti@gmail.com> | 01 November 2022, 23:02:32 UTC |
8902fe9 | Benjamin Wang | 31 October 2022, 09:49:19 UTC | Merge pull request #14662 from falser101/release-3.5 [3.5] fix: close maintenance conn | 31 October 2022, 09:49:19 UTC |
45e31f6 | jianfei.zhang | 31 October 2022, 06:36:47 UTC | fix:close conn Signed-off-by: jianfei.zhang <jianfei.zhang@daocloud.io> | 31 October 2022, 08:00:58 UTC |
8e26a1f | Benjamin Wang | 20 October 2022, 07:52:08 UTC | 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> | 31 October 2022, 00:33:27 UTC |
0a0f0e3 | Hitoshi Mitake | 30 October 2022, 08:54:47 UTC | Merge pull request #14656 from ahrtr/test_dynamical_add_member test: added e2e test case for issue 14571: etcd doesn't load auth info when recovering from a snapshot | 30 October 2022, 08:54:47 UTC |
bd7405a | Benjamin Wang | 30 October 2022, 06:42:11 UTC | test: added e2e test case for issue 14571: etcd doesn't load auth info when recovering from a snapshot Signed-off-by: Benjamin Wang <wachao@vmware.com> | 30 October 2022, 06:49:13 UTC |
17cb291 | Benjamin Wang | 29 October 2022, 05:43:42 UTC | Merge pull request #14648 from mitake/test-authrecover-3.5 [3.5] server: refresh auth info when etcd recovers from a snapshot | 29 October 2022, 05:43:42 UTC |
1e96e0b | Hitoshi Mitake | 29 October 2022, 04:56:08 UTC | etcdserver: call refreshRangePermCache on Recover() in AuthStore. #14574 Signed-off-by: Oleg Guba <oleg@dropbox.com> Signed-off-by: Hitoshi Mitake <h.mitake@gmail.com> | 29 October 2022, 04:56:08 UTC |
efb9480 | Hitoshi Mitake | 29 October 2022, 03:31:52 UTC | server: add a unit test case for authStore.Reocver() with empty rangePermCache Signed-off-by: Hitoshi Mitake <h.mitake@gmail.com> | 29 October 2022, 04:26:31 UTC |
7cd9e5a | Benjamin Wang | 16 October 2022, 11:33:26 UTC | Merge pull request #14593 from ZoeShaw101/fix-watch-test-panic-3.5 Backport #14591 to 3.5. | 16 October 2022, 11:33:26 UTC |
d78f6f7 | 王霄霄 | 15 October 2022, 14:16:28 UTC | Backport #14591 to 3.5. Signed-off-by: 王霄霄 <1141195807@qq.com> | 16 October 2022, 10:52:57 UTC |
ec6f0a7 | Benjamin Wang | 15 October 2022, 22:35:17 UTC | Merge pull request #14500 from dusk125/release-3.5 Release-3.5: server/etcdmain: add configurable cipher list to gRPC proxy listener | 15 October 2022, 22:35:17 UTC |
62169d1 | Benjamin Wang | 12 October 2022, 23:02:22 UTC | Merge pull request #14582 from tomari/tomari/watch-backoff-for-3.5 [3.5] client/v3: Add backoff before retry when watch stream returns unavailable | 12 October 2022, 23:02:22 UTC |
d3da22f | Hisanobu Tomari | 07 October 2022, 21:57:30 UTC | 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> | 12 October 2022, 20:26:02 UTC |
acc7463 | Benjamin Wang | 12 October 2022, 18:17:42 UTC | Merge pull request #13861 from mrueg/rel3.5-fix-make2 [Release-3.5] Makefile: additional logic fix / Update Ubuntu base | 12 October 2022, 18:17:42 UTC |
2fb9be6 | Benjamin Wang | 12 October 2022, 18:07:24 UTC | Merge pull request #14578 from ahrtr/wal_log_3.5 [3.5] etcdserver: added more debug log for the purgeFile goroutine | 12 October 2022, 18:07:24 UTC |
f6c4c84 | Benjamin Wang | 12 October 2022, 11:28:32 UTC | etcdserver: added more debug log for the purgeFile goroutine Signed-off-by: Benjamin Wang <wachao@vmware.com> | 12 October 2022, 11:28:32 UTC |
3afd073 | Benjamin Wang | 12 October 2022, 01:39:05 UTC | Merge pull request #14573 from pchan/automated-cherry-pick Automated cherry pick of #13224 #14572 | 12 October 2022, 01:39:05 UTC |
e712234 | Sergey Kacheev | 26 September 2021, 06:50:10 UTC | netutil: make a `raw` URL comparison part of the urlsEqual function Signed-off-by: Prasad Chandrasekaran <prasadc@vmware.com> | 11 October 2022, 11:28:56 UTC |
3e195ba | Sergey Kacheev | 31 July 2021, 17:20:50 UTC | Apply suggestions from code review Co-authored-by: Lili Cosic <cosiclili@gmail.com> Signed-off-by: Prasad Chandrasekaran <prasadc@vmware.com> | 11 October 2022, 11:28:56 UTC |
25ef9b6 | Sergey Kacheev | 18 July 2021, 18:31:21 UTC | netutil: add url comparison without resolver to URLStringsEqual If one of the nodes in the cluster has lost a dns record, restarting the second node will break it. This PR makes an attempt to add a comparison without using a resolver, which allows to protect cluster from dns errors and does not break the current logic of comparing urls in the URLStringsEqual function. You can read more in the issue #7798 Fixes #7798 Signed-off-by: Prasad Chandrasekaran <prasadc@vmware.com> | 11 October 2022, 11:28:56 UTC |
5ff0d7f | Manuel Rüger | 31 March 2022, 09:14:35 UTC | tests/Dockerfile: Switch to ubuntu 22.04 base ubuntu 20.10 is EOL and fails with E: The repository 'http://security.ubuntu.com/ubuntu groovy-security Release' does not have a Release file. Signed-off-by: Manuel Rüger <manuel@rueg.eu> | 10 October 2022, 20:34:56 UTC |
dce3fdb | Manuel Rüger | 31 March 2022, 09:18:33 UTC | Makefile: Additional logic fix Signed-off-by: Manuel Rüger <manuel@rueg.eu> | 10 October 2022, 20:30:49 UTC |
07c7a98 | Hitoshi Mitake | 09 October 2022, 14:59:36 UTC | Merge pull request #14563 from kafuu-chino/3.5-backport-14296 *: avoid closing a watch with ID 0 incorrectly | 09 October 2022, 14:59:36 UTC |
dd983c6 | Kafuu Chino | 02 August 2022, 10:55:41 UTC | *: avoid closing a watch with ID 0 incorrectly Signed-off-by: Kafuu Chino <KafuuChinoQ@gmail.com> add test 1 1 1 1 1 1 | 08 October 2022, 12:06:19 UTC |
5daf35b | Benjamin Wang | 03 October 2022, 22:37:46 UTC | Merge pull request #14547 from mitake/3.5-backport-14322 Backport PR 14322 to release-3.5 | 03 October 2022, 22:37:46 UTC |
528dd82 | Hitoshi Mitake | 09 September 2022, 15:49:37 UTC | tests: a test case for watch with auth token expiration Signed-off-by: Hitoshi Mitake <h.mitake@gmail.com> | 03 October 2022, 14:08:23 UTC |
7b568f2 | Hitoshi Mitake | 31 July 2022, 14:42:38 UTC | *: handle auth invalid token and old revision errors in watch Signed-off-by: Hitoshi Mitake <h.mitake@gmail.com> | 03 October 2022, 14:00:13 UTC |
db55011 | Sahdev Zala | 16 September 2022, 16:15:08 UTC | server/etcdmain: add configurable cipher list to gRPC proxy listener Signed-off-by: Allen Ray <alray@redhat.com> | 29 September 2022, 15:41:57 UTC |
89d0fc4 | Benjamin Wang | 20 September 2022, 02:19:02 UTC | Merge pull request #14489 from dims/Haimantika-replacejwtgo-in-release-3.5 Replace github.com/form3tech-oss/jwt-go with https://github.com/golang-jwt/jwt | 20 September 2022, 02:19:02 UTC |
653d6e1 | Haimantika Mitra | 29 July 2021, 16:50:46 UTC | Replace github.com/form3tech-oss/jwt-go with https://github.com/golang-jwt/jwt/v4 Signed-off-by: haimantika mitra <haimantikamitra@gmail.com> Signed-off-by: Davanum Srinivas <davanum@gmail.com> | 19 September 2022, 19:35:08 UTC |
19002cf | Marek Siarkowicz | 15 September 2022, 12:02:30 UTC | version: bump up to 3.5.5 | 15 September 2022, 12:02:30 UTC |
2ba1bab | Benjamin Wang | 13 September 2022, 11:40:00 UTC | Merge pull request #14454 from ahrtr/fix_TestV3AuthRestartMember_20220913_3.5 [release-3.5] fix the flaky test TestV3AuthRestartMember | 13 September 2022, 11:40:00 UTC |
2f1171f | Benjamin Wang | 13 September 2022, 08:50:30 UTC | fix the flaky test fix_TestV3AuthRestartMember_20220913 for 3.5 Signed-off-by: Benjamin Wang <wachao@vmware.com> | 13 September 2022, 08:50:30 UTC |
6c26693 | Benjamin Wang | 13 September 2022, 06:44:38 UTC | Merge pull request #14178 from lavacat/release-3.5-txn-panic [3.5] server: don't panic in readonly serializable txn | 13 September 2022, 06:44:38 UTC |
646ba66 | Benjamin Wang | 08 September 2022, 09:58:03 UTC | Merge pull request #14434 from tjungblu/bz_1918413_3.5 etcdctl: allow move-leader to connect to multiple endpoints | 08 September 2022, 09:58:03 UTC |
243b7a1 | Thomas Jungblut | 08 September 2022, 09:20:15 UTC | etcdctl: fix move-leader for multiple endpoints Due to a duplicate call of clientConfigFromCmd, the move-leader command would fail with "conflicting environment variable is shadowed by corresponding command-line flag". Also in scenarios where no command-line flag was supplied. Signed-off-by: Thomas Jungblut <tjungblu@redhat.com> | 08 September 2022, 09:20:15 UTC |
16d72c0 | Benjamin Wang | 08 September 2022, 08:59:46 UTC | Merge pull request #14440 from vsvastey/usr/vsvastey/open-with-max-index-test-fix-3.5 [release-3.5] testing: fix TestOpenWithMaxIndex cleanup | 08 September 2022, 08:59:46 UTC |
eef5e22 | Vladimir Sokolov | 03 September 2022, 22:41:16 UTC | testing: fix TestOpenWithMaxIndex cleanup A WAL object was closed by defer, however the WAL was rewritten afterwards, so defer closed already closed WAL but not the new one. It caused a data race between writing file and cleaning up a temporary test directory, which led to a non-deterministic bug. Fixes #14332 Signed-off-by: Vladimir Sokolov <vsvastey@gmail.com> | 08 September 2022, 08:26:10 UTC |
a5a33cb | Benjamin Wang | 08 September 2022, 05:18:34 UTC | Merge pull request #14436 from serathius/arm64 [release-3.5] server/etcdmain: add build support for Apple M1 | 08 September 2022, 05:18:34 UTC |
bb3fae4 | Hitoshi Mitake | 08 September 2022, 05:08:35 UTC | Merge pull request #14409 from vivekpatani/release-3.5 [release-3.5] server,test: refresh cache on each NewAuthStore | 08 September 2022, 05:08:35 UTC |
7639d93 | Vivek Patani | 31 August 2022, 19:54:06 UTC | server,test: refresh cache on each NewAuthStore - permissions were incorrectly loaded on restarts. - #14355 - Backport of https://github.com/etcd-io/etcd/pull/14358 Signed-off-by: vivekpatani <9080894+vivekpatani@users.noreply.github.com> | 07 September 2022, 17:22:05 UTC |
c79f96d | Dirkjan Bussink | 17 December 2021, 15:41:38 UTC | server/etcdmain: add build support for Apple M1 This has been additionally verified by running the tests locally as a basic smoke test. GitHub Actions doesn't provide MacOS M1 (arm64) yet, so there's no good way to automate testing. Ran `TMPDIR=/tmp make test` locally. The `TMPDIR` bit is needed so there's no really long path used that breaks Unix socket setup in one of the tests. Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> | 07 September 2022, 15:25:34 UTC |
ba52d5a | Marek Siarkowicz | 07 September 2022, 14:29:46 UTC | Merge pull request #14282 from serathius/fix-checks-v3.5 Fix corruption checks v3.5 | 07 September 2022, 14:29:46 UTC |
2ddb9e0 | Marek Siarkowicz | 25 July 2022, 11:27:53 UTC | tests: Fix member id in CORRUPT alarm Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> | 07 September 2022, 13:11:56 UTC |
5660bf0 | Marek Siarkowicz | 05 July 2022, 14:03:46 UTC | server: Make corrtuption check optional and period configurable Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> | 07 September 2022, 13:11:56 UTC |
21fb173 | Marek Siarkowicz | 20 May 2022, 10:11:18 UTC | server: Implement compaction hash checking Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> | 07 September 2022, 13:11:56 UTC |
a56ec0b | Marek Siarkowicz | 25 July 2022, 11:03:11 UTC | tests: Cover periodic check in tests Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> | 07 September 2022, 13:11:56 UTC |
4a75e3d | Marek Siarkowicz | 25 July 2022, 11:49:45 UTC | server: Refactor compaction checker Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> | 07 September 2022, 13:11:55 UTC |
8d4ca10 | Marek Siarkowicz | 25 July 2022, 10:27:22 UTC | tests: Move CorruptBBolt to testutil Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> | 07 September 2022, 13:11:55 UTC |
a8020a0 | Marek Siarkowicz | 25 July 2022, 10:26:47 UTC | tests: Rename corruptHash to CorruptBBolt Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> | 07 September 2022, 13:11:55 UTC |
037a898 | Marek Siarkowicz | 08 June 2022, 12:55:53 UTC | tests: Unify TestCompactionHash and extend it to also Delete keys and Defrag Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> | 07 September 2022, 13:11:55 UTC |
00bc8da | Marek Siarkowicz | 07 June 2022, 15:08:03 UTC | tests: Add tests for HashByRev HTTP API Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> | 07 September 2022, 13:11:55 UTC |
d3db3bc | Marek Siarkowicz | 07 June 2022, 14:11:57 UTC | tests: Add integration tests for compact hash Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> | 07 September 2022, 13:11:55 UTC |
1200b10 | Marek Siarkowicz | 07 June 2022, 13:11:57 UTC | server: Cache compaction hash for HashByRev API Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> | 07 September 2022, 13:11:55 UTC |
7358362 | Marek Siarkowicz | 19 May 2022, 15:33:58 UTC | server: Extract hasher to separate interface Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> | 07 September 2022, 13:11:55 UTC |
6311072 | Marek Siarkowicz | 19 May 2022, 15:19:55 UTC | server: Remove duplicated compaction revision Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> | 07 September 2022, 13:11:55 UTC |
a3f609d | Marek Siarkowicz | 19 May 2022, 14:07:35 UTC | server: Return revision range that hash was calcualted for Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> | 07 September 2022, 13:11:55 UTC |
1ff5992 | Marek Siarkowicz | 19 May 2022, 12:13:54 UTC | server: Store real rv range in hasher Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> | 07 September 2022, 13:11:55 UTC |
991b429 | Marek Siarkowicz | 19 May 2022, 12:10:36 UTC | server: Move adjusting revision to hasher Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> | 07 September 2022, 13:11:55 UTC |
2b8dd0d | Marek Siarkowicz | 19 May 2022, 12:08:52 UTC | server: Pass revision as int Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> | 07 September 2022, 13:11:55 UTC |
21e5d5d | Marek Siarkowicz | 19 May 2022, 10:16:52 UTC | server: Calculate hash during compaction Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> | 07 September 2022, 13:11:55 UTC |
f1a759a | Marek Siarkowicz | 19 May 2022, 10:16:52 UTC | server: Fix range in mock not returning same number of keys and values Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> | 07 September 2022, 13:11:55 UTC |
ea684db | Marek Siarkowicz | 19 May 2022, 08:22:46 UTC | server: Move reading KV index inside scheduleCompaction function Makes it easier to test hash match between scheduleCompaction and HashByRev. Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> | 07 September 2022, 13:11:55 UTC |
22d3e4e | Marek Siarkowicz | 18 May 2022, 11:08:45 UTC | server: Return error from scheduleCompaction Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> | 07 September 2022, 13:11:55 UTC |
679e327 | Marek Siarkowicz | 19 May 2022, 11:10:17 UTC | server: Refactor hasher Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> | 07 September 2022, 13:11:55 UTC |
f5ed371 | Marek Siarkowicz | 17 May 2022, 13:11:32 UTC | server: Extract kvHash struct Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> | 07 September 2022, 13:11:55 UTC |
3f26995 | Marek Siarkowicz | 17 May 2022, 11:56:36 UTC | server: Move unsafeHashByRev to new hash.go file Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> | 07 September 2022, 13:11:55 UTC |
bc592c7 | Marek Siarkowicz | 17 May 2022, 11:45:18 UTC | server: Extract unsafeHashByRev function Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> | 07 September 2022, 13:11:55 UTC |
336fef4 | Marek Siarkowicz | 19 May 2022, 11:52:08 UTC | server: Test HashByRev values to make sure they don't change Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> | 07 September 2022, 13:11:55 UTC |
78a6f38 | Marek Siarkowicz | 13 June 2022, 13:42:25 UTC | server: Cover corruptionMonitor with tests Get 100% coverage on InitialCheck and PeriodicCheck functions to avoid any mistakes. Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> | 07 September 2022, 13:11:55 UTC |
35cbdf3 | Marek Siarkowicz | 13 June 2022, 12:20:07 UTC | server: Extract corruption detection to dedicated struct Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> | 07 September 2022, 13:11:55 UTC |
d32de2c | Marek Siarkowicz | 13 June 2022, 11:56:52 UTC | server: Extract triggerCorruptAlarm to function Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> | 07 September 2022, 13:11:55 UTC |
204c031 | Benjamin Wang | 06 September 2022, 07:17:13 UTC | Merge pull request #14429 from ahrtr/alarm_list_ci_3.5 [3.5] Move consistent_index forward when executing alarmList operation | 06 September 2022, 07:17:13 UTC |
5c8aa08 | Benjamin Wang | 06 September 2022, 04:48:06 UTC | move consistent_index forward when executing alarmList operation Cherry pick https://github.com/etcd-io/etcd/pull/14419 to 3.5. Signed-off-by: Benjamin Wang <wachao@vmware.com> | 06 September 2022, 04:48:06 UTC |
747bf5c | Benjamin Wang | 05 September 2022, 19:28:24 UTC | Merge pull request #14424 from serathius/one_member_data_loss_raft_3_5 [release-3.5] fix the potential data loss for clusters with only one member | 05 September 2022, 19:28:24 UTC |
7eb696d | Benjamin Wang | 30 August 2022, 02:24:51 UTC | fix the potential data loss for clusters with only one member For a cluster with only one member, the raft always send identical unstable entries and committed entries to etcdserver, and etcd responds to the client once it finishes (actually partially) the applying workflow. When the client receives the response, it doesn't mean etcd has already successfully saved the data, including BoltDB and WAL, because: 1. etcd commits the boltDB transaction periodically instead of on each request; 2. etcd saves WAL entries in parallel with applying the committed entries. Accordingly, it may run into a situation of data loss when the etcd crashes immediately after responding to the client and before the boltDB and WAL successfully save the data to disk. Note that this issue can only happen for clusters with only one member. For clusters with multiple members, it isn't an issue, because etcd will not commit & apply the data before it being replicated to majority members. When the client receives the response, it means the data must have been applied. It further means the data must have been committed. Note: for clusters with multiple members, the raft will never send identical unstable entries and committed entries to etcdserver. Signed-off-by: Benjamin Wang <wachao@vmware.com> | 05 September 2022, 12:26:24 UTC |