sort by:
Revision Author Date Message Commit Date
2ddb9e0 tests: Fix member id in CORRUPT alarm Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> 07 September 2022, 13:11:56 UTC
5660bf0 server: Make corrtuption check optional and period configurable Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> 07 September 2022, 13:11:56 UTC
21fb173 server: Implement compaction hash checking Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> 07 September 2022, 13:11:56 UTC
a56ec0b tests: Cover periodic check in tests Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> 07 September 2022, 13:11:56 UTC
4a75e3d server: Refactor compaction checker Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> 07 September 2022, 13:11:55 UTC
8d4ca10 tests: Move CorruptBBolt to testutil Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> 07 September 2022, 13:11:55 UTC
a8020a0 tests: Rename corruptHash to CorruptBBolt Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> 07 September 2022, 13:11:55 UTC
037a898 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 tests: Add tests for HashByRev HTTP API Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> 07 September 2022, 13:11:55 UTC
d3db3bc tests: Add integration tests for compact hash Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> 07 September 2022, 13:11:55 UTC
1200b10 server: Cache compaction hash for HashByRev API Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> 07 September 2022, 13:11:55 UTC
7358362 server: Extract hasher to separate interface Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> 07 September 2022, 13:11:55 UTC
6311072 server: Remove duplicated compaction revision Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> 07 September 2022, 13:11:55 UTC
a3f609d 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 server: Store real rv range in hasher Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> 07 September 2022, 13:11:55 UTC
991b429 server: Move adjusting revision to hasher Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> 07 September 2022, 13:11:55 UTC
2b8dd0d server: Pass revision as int Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> 07 September 2022, 13:11:55 UTC
21e5d5d server: Calculate hash during compaction Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> 07 September 2022, 13:11:55 UTC
f1a759a 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 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 server: Return error from scheduleCompaction Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> 07 September 2022, 13:11:55 UTC
679e327 server: Refactor hasher Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> 07 September 2022, 13:11:55 UTC
f5ed371 server: Extract kvHash struct Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> 07 September 2022, 13:11:55 UTC
3f26995 server: Move unsafeHashByRev to new hash.go file Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> 07 September 2022, 13:11:55 UTC
bc592c7 server: Extract unsafeHashByRev function Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> 07 September 2022, 13:11:55 UTC
336fef4 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 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 server: Extract corruption detection to dedicated struct Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> 07 September 2022, 13:11:55 UTC
d32de2c server: Extract triggerCorruptAlarm to function Signed-off-by: Marek Siarkowicz <siarkowicz@google.com> 07 September 2022, 13:11:55 UTC
204c031 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 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 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 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
fbb14f9 Merge pull request #14397 from biosvs/backport-grpc-proxy-endpoints-autosync Backport of pull/14354 to release-3.5 01 September 2022, 08:14:22 UTC
204d883 [backport 3.5] server: don't panic in readonly serializable txn Problem: We pass grpc context down to applier in readonly serializable txn. This context can be cancelled for example due to timeout. This will trigger panic inside applyTxn Solution: Only panic for transactions with write operations fixes https://github.com/etcd-io/etcd/issues/14110 main PR https://github.com/etcd-io/etcd/pull/14149 Signed-off-by: Bogdan Kanivets <bkanivets@apple.com> 01 September 2022, 08:01:50 UTC
67e4c59 Backport of pull/14354 to 3.5.5 Signed-off-by: Vitalii Levitskii <vitalii@uber.com> 29 August 2022, 12:58:17 UTC
74aa38e Merge pull request #14366 from ahrtr/keepalive_3.5_20220820 [3.5] Refactor the keepAliveListener and keepAliveConn 24 August 2022, 02:14:26 UTC
9ea5b1b 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`. Also refer to https://github.com/etcd-io/etcd/pull/14356 Signed-off-by: Benjamin Wang <wachao@vmware.com> 20 August 2022, 07:03:15 UTC
6bab367 Merge pull request #14361 from amdprophet/3.5-close-keepalive-stream [3.5] clientv3: close streams after use in lessor keepAliveOnce method 19 August 2022, 21:33:40 UTC
eab0b99 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> 18 August 2022, 16:54:12 UTC
9e95685 Merge pull request #14312 from ahrtr/3.5_bump_otl [3.5] etcdserver: bump OpenTelemetry to 1.0.1 and gRPC to 1.41.0 08 August 2022, 20:03:21 UTC
8fdca41 Change default sampling rate from 100% to 0% Refer to https://github.com/etcd-io/etcd/pull/14318 Signed-off-by: Benjamin Wang <wachao@vmware.com> 06 August 2022, 23:19:30 UTC
8c5f110 Fix the failure in TestEndpointSwitchResolvesViolation Refer to https://github.com/etcd-io/etcd/commit/a0bdfc4fc965727c1f55c4711c4af4f19dd0257b Signed-off-by: Benjamin Wang <wachao@vmware.com> 06 August 2022, 23:17:27 UTC
2751c61 update all related dependencies Upgrade grpc to 1.41.0; Run ./script/fix.sh to fix all related issue. Signed-off-by: Benjamin Wang <wachao@vmware.com> 06 August 2022, 23:17:27 UTC
5a86ae2 move setupTracing into a separate file config_tracing.go Signed-off-by: Benjamin Wang <wachao@vmware.com> 06 August 2022, 23:17:27 UTC
2d7e490 etcdserver: bump OpenTelemetry to 1.0.1 Signed-off-by: Benjamin Wang <wachao@vmware.com> 06 August 2022, 23:16:08 UTC
6145831 Merge pull request #14318 from damemi/3.5-tracing-sample Change default sampling rate from 100% to 0% 06 August 2022, 23:14:35 UTC
4c013c9 Change default sampling rate from 100% to 0% This changes the default parent-based trace sampling rate from 100% to 0%. Due to the high QPS etcd can handle, having 100% trace sampling leads to very high resource usage. Defaulting to 0% means that only already-sampled traces will be sampled in etcd. Fixes #14310 Signed-off-by: Mike Dame <mikedame@google.com> 05 August 2022, 15:00:40 UTC
9d7e108 Merge pull request #14227 from mitake/perm-cache-lock-3.5 server/auth: protect rangePermCache with a RW lock 20 July 2022, 08:36:00 UTC
e15c005 server/auth: protect rangePermCache with a RW lock Signed-off-by: Hitoshi Mitake <h.mitake@gmail.com> 19 July 2022, 06:56:12 UTC
3237289 Merge pull request #14222 from Jille/backport-14203 [3.5] clientv3: Fix parsing of ETCD_CLIENT_DEBUG 15 July 2022, 00:27:07 UTC
cbedaf9 Improve error message for incorrect values of ETCD_CLIENT_DEBUG Signed-off-by: Jille Timmermans <jille@quis.cx> 14 July 2022, 07:43:54 UTC
fb71790 Merge pull request #14219 from ahrtr/3.5_backport_maxstream [3.5] Support configuring `MaxConcurrentStreams` for http2 13 July 2022, 08:57:48 UTC
ff447b4 add e2e test cases to cover the maxConcurrentStreams Signed-off-by: Benjamin Wang <wachao@vmware.com> 13 July 2022, 06:43:44 UTC
437f377 Add flag `--max-concurrent-streams` to set the max concurrent stream each client can open at a time Also refer to https://github.com/etcd-io/etcd/pull/14169#discussion_r917154243 Signed-off-by: Benjamin Wang <wachao@vmware.com> 13 July 2022, 06:18:15 UTC
40d1a43 add the uint32Value data type The golang buildin package `flag` doesn't support `uint32` data type, so we need to support it via the `flag.Var`. Signed-off-by: Benjamin Wang <wachao@vmware.com> 13 July 2022, 05:57:22 UTC
57c1d92 Merge pull request #14187 from spzala/automated-cherry-pick-of-#14182-upstream-release-3.5 Automated cherry pick of #14182 03 July 2022, 11:02:10 UTC
4df61af 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> 03 July 2022, 03:33:26 UTC
c9f7473 Merge pull request #14132 from ahrtr/auth_bundle [3.5] client/v3: do not overwrite authTokenBundle on dial 20 June 2022, 08:46:39 UTC
df632ab client/v3: do not overwrite authTokenBundle on dial Cherry pick the PR https://github.com/etcd-io/etcd/pull/12992 to 3.5, so please refer to the original PR for more detailed info. Signed-off-by: Benjamin Wang <wachao@vmware.com> 17 June 2022, 22:59:55 UTC
4443e14 Merge pull request #14127 from ahrtr/threshold_3.5 [3.5] Restrict the max size of each WAL entry to the remaining size of the WAL file 17 June 2022, 07:03:35 UTC
621cd7b 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> 17 June 2022, 01:01:29 UTC
db0b67e 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> 17 June 2022, 01:00:43 UTC
0be65da Merge pull request #14087 from ahrtr/lease_revoke_race [3.5] Backport two lease related bug fixes to 3.5 06 June 2022, 14:58:04 UTC
acb1ee9 Backport two lease related bug fixes to 3.5 The first bug fix is to resolve the race condition between goroutine and channel on the same leases to be revoked. It's a classic mistake in using Golang channel + goroutine. Please refer to https://go.dev/doc/effective_go#channels The second bug fix is to resolve the issue that etcd lessor may continue to schedule checkpoint after stepping down the leader role. 04 June 2022, 06:01:08 UTC
73876b1 Merge pull request #14050 from serathius/avoid-clone-v3.5 [release-3.5] scripts: Avoid additional repo clone 18 May 2022, 11:48:51 UTC
6aa934e scripts: Detect staged files before building release 18 May 2022, 11:11:10 UTC
c05b9b1 scripts: Avoid additional repo clone This PR removes additional clone when building artifacts. When releasing v3.5.4 this clone was main cause of issues and confusion about what release script is doing. release.sh script already clones repo in /tmp/ directory, so clonning before build is not needed. As precautions for bug in script leaving /tmp/ clone in bad state I moved "Verify the latest commit has the version tag" and added "Verify the clean working tree" to be always run before build. 18 May 2022, 08:19:35 UTC
2e76dfb Merge pull request #14043 from serathius/test-release-3.5-v2 [release-3.5] Test release scripts 16 May 2022, 12:03:01 UTC
c4b0a56 Make DRY_RUN explicit 16 May 2022, 11:10:05 UTC
c76a010 scripts: Add tests for release scripts 16 May 2022, 11:09:46 UTC
b57881a Merge pull request #13205 from cfz/cherry-pick-#13172 [backport 3.5]: server/auth: enable tokenProvider if recoved store enables auth 06 May 2022, 11:05:50 UTC
cceb25d server/auth: enable tokenProvider if recoved store enables auth we found a lease leak issue: if a new member(by member add) is recovered by snapshot, and then become leader, the lease will never expire afterwards. leader will log the revoke failure caused by "invalid auth token", since the token provider is not functional, and drops all generated token from upper layer, which in this case, is the lease revoking routine. 06 May 2022, 04:24:28 UTC
8453b10 Merge pull request #13996 from cmurphy/update-crypto-3.5 Update golang.org/x/crypto to latest 05 May 2022, 08:35:47 UTC
5c44c30 Update golang.org/x/crypto to latest Update crypto to address CVE-2022-27191. The CVE fix is added in 0.0.0-20220315160706-3147a52a75dd but this change updates to latest. 28 April 2022, 16:27:02 UTC
08407ff version: bump up to 3.5.4 24 April 2022, 10:44:36 UTC
c3c908e Merge pull request #13946 from ahrtr/move_cindex_on_apply_fail_353 [3.5] Update consitent_index when applying fails 21 April 2022, 14:21:24 UTC
5c68f2e Update conssitent_index when applying fails When clients have no permission to perform whatever operation, then the applying may fail. We should also move consistent_index forward in this case, otherwise the consitent_index may smaller than the snapshot index. 20 April 2022, 14:17:49 UTC
b872757 Merge pull request #13950 from liggitt/revert-srv-dot-3.5 Revert #13714 19 April 2022, 10:23:02 UTC
081b4e2 Add unit test for canonical SRV records 15 April 2022, 19:33:31 UTC
7656477 Revert "trim the suffix dot from the srv.Target for etcd-client DNS lookup" This reverts commit 4f51cc1d9a6d31ae5622fe50c90f03962a7ee3a4. 15 April 2022, 19:33:16 UTC
0452fee version: bump up to 3.5.3 13 April 2022, 15:17:51 UTC
842cb4b Merge pull request #13938 from endocrimes/dani/backport [backport] PR 13923 to release-3.5 13 April 2022, 13:15:59 UTC
50978d5 clientv3: disable mirror auth test with proxy 13 April 2022, 12:41:24 UTC
5d44f22 cv3/mirror: Fetch the most recent prefix revision When a user sets up a Mirror with a restricted user that doesn't have access to the `foo` path, we will fail to get the most recent revision due to permissions issues. With this change, when a prefix is provided we will get the initial revision from the prefix rather than /foo. This allows restricted users to setup sync. 13 April 2022, 12:39:06 UTC
cd750e4 Merge pull request #13862 from mrueg/update-baseimage [release-3.5] Dockerfile*: Switch baseimage to k8s hosted one 12 April 2022, 09:55:46 UTC
003a310 Merge pull request #13933 from ahrtr/fix_snapshot_recover_cindex_3.5 [3.5]Set backend to cindex before recovering the lessor in applySnapshot 12 April 2022, 08:46:55 UTC
6095cf8 Dockerfile-release.*: Update base image snapshot Signed-off-by: Manuel Rüger <manuel@rueg.eu> 12 April 2022, 08:39:55 UTC
719082e Merge pull request #13932 from ahrtr/lease_renew_linearizable_3.5 [3.5] Support linearizable renew lease 12 April 2022, 08:03:20 UTC
4002aa5 set backend to cindex before recovering the lessor in applySnapshot 12 April 2022, 07:56:14 UTC
bc5307d support linearizable renew lease When etcdserver receives a LeaseRenew request, it may be still in progress of processing the LeaseGrantRequest on exact the same leaseID. Accordingly it may return a TTL=0 to client due to the leaseID not found error. So the leader should wait for the appliedID to be available before processing client requests. 12 April 2022, 06:12:45 UTC
b9cbff1 Merge pull request #13917 from chrisayoub/release-3.5 [release-3.5] clientv3: filter learners members during autosync 10 April 2022, 13:43:28 UTC
232fb98 clientv3: filter learners members during autosync This change is to ensure that all members returned during the client's AutoSync are started and are not learners, which are not valid etcd members to make requests to. 10 April 2022, 01:25:42 UTC
383eceb Merge pull request #13669 from maxsokolovsky/upgrade-server-dependency-golang.org/x/crypto etcdserver: upgrade the golang.org/x/crypto dependency 09 April 2022, 07:44:05 UTC
bf22ef3 Merge pull request #13908 from ahrtr/data_corruption_3.5 [3.5] Fix the data inconsistency issue by adding a txPostLockHook into the backend 08 April 2022, 17:30:17 UTC
66c7aab fix the data inconsistency issue by adding a txPostLockHook into the backend Previously the SetConsistentIndex() is called during the apply workflow, but it's outside the db transaction. If a commit happens between SetConsistentIndex and the following apply workflow, and etcd crashes for whatever reason right after the commit, then etcd commits an incomplete transaction to db. Eventually etcd runs into the data inconsistency issue. In this commit, we move the SetConsistentIndex into a txPostLockHook, so it will be executed inside the transaction lock. 08 April 2022, 12:37:34 UTC
3ace622 Merge pull request #13904 from serathius/term-v3.5 [release-3.5] server: Save consistency index and term to backend even when they decrease 08 April 2022, 12:03:32 UTC
780ec33 server: Save consistency index and term to backend even when they decrease Reason to store CI and term in backend was to make db fully independent snapshot, it was never meant to interfere with apply logic. Skip of CI was introduced for v2->v3 migration where we wanted to prevent it from decreasing when replaying wal in https://github.com/etcd-io/etcd/pull/5391. By mistake it was added to apply flow during refactor in https://github.com/etcd-io/etcd/pull/12855#commitcomment-70713670. Consistency index and term should only be negotiated and used by raft to make decisions. Their values should only driven by raft state machine and backend should only be responsible for storing them. 07 April 2022, 19:22:18 UTC
238b18c Merge pull request #13895 from mrueg/rel3.5-client_golang [release-3.5] go.mod: Upgrade to prometheus/client_golang v1.11.1 07 April 2022, 07:38:43 UTC
5f19688 Merge pull request #13887 from serathius/verify-v3.5 [release-v3.5] server: Add verification of whether lock was called within out outsid… 06 April 2022, 12:32:03 UTC
back to top