Zike Yang
b77f56ac25
tests: fix the logic of testNonleaderElectionTimeoutRandomized in raft_paper_test.go
...
In the test `testNonleaderElectionTimeoutRandomized`, the possible values of election timeout randomized out should be 10-19(inclusive), but the current test only tests the possible values as 11-19(inclusive), which is incorrect here. We need to expand the scope of the tests to ensure robustness, and also to make the logic clearer.
Signed-off-by: Zike Yang <zike@apache.org>
2022-07-25 23:16:02 +08:00
Benjamin Wang
08f4c340eb
Merge pull request #14078 from ahrtr/checkpoint_reset
...
Clean up the local variable cps so that it will not continue to schedule checkpoint
2022-05-31 07:56:53 +08:00
ahrtr
1d482bfc08
Move the local variable cps into the loop so that it will not continue to schedule checkpoints after it steps down the leader
2022-05-29 05:08:41 +08:00
Benjamin Wang
ce77d83ee6
Merge pull request #14067 from ahrtr/lease_revoke
...
Fix the race condition between goroutine and channel on the same leases to be revoked
2022-05-29 05:04:26 +08:00
Benjamin Wang
2d6aadec24
Merge pull request #14079 from ahrtr/split_lease
...
Move lease related code into a separate file lease.go
2022-05-29 05:02:59 +08:00
ahrtr
6e9397d171
move lease related code into a separate file lease.go
2022-05-27 20:22:29 +08:00
ahrtr
25deb436af
fix the race condition between goroutine and channel on the same leases to be revoked
2022-05-25 16:44:41 +08:00
Marek Siarkowicz
908faa44c4
Merge pull request #14069 from ahrtr/update_3.5_changelog_migrate
...
Update changelog-3.5 to correct the entry for decommissioning `etcdctl migrate`
2022-05-25 10:36:45 +02:00
ahrtr
42797d88ec
update changelog-3.5 to correct the entry for decommissioning etcdctl migrate command
2022-05-25 05:47:40 +08:00
Benjamin Wang
c3bc4116dc
Merge pull request #14063 from ahrtr/ignore_etcd_tool_binaries
...
Add etcd tool binaries into .gitignore
2022-05-22 19:19:35 +08:00
ahrtr
c75bdef4d2
add etcd tool binaries into .gitignore
2022-05-21 06:58:05 +08:00
Benjamin Wang
8093fc90ab
Merge pull request #14060 from spongecaptain/patch-1
...
use go install instead of go get
2022-05-21 06:26:24 +08:00
Piotr Tabor
9bb134233a
Merge pull request #13878 from ptabor/20220403-applier-clean
...
Encapsulation of applier logic: Move Txn related code out of applier.go.
2022-05-20 18:07:51 +02:00
Sahdev Zala
1988324b12
Merge pull request #14053 from spzala/governanceupdate
...
Governance: Use lazy consensus when needed to make decision
2022-05-20 12:06:23 -04:00
wjjiang
534d7b4795
use go install instead of go get
2022-05-20 23:45:14 +08:00
Piotr Tabor
41ff2370e9
Remove unused code and apply code-quality suggestions.
2022-05-20 14:42:39 +02:00
Piotr Tabor
85b18c9b3e
Rename WrapApply to Apply.
2022-05-20 14:32:04 +02:00
Piotr Tabor
87b80f16ca
Fixing missing comment on the dispatch() function.
2022-05-20 14:32:04 +02:00
Piotr Tabor
42c6e08f22
Rename the txn, so as not to be the same as the package name.
2022-05-20 14:32:04 +02:00
Piotr Tabor
0da0cf4795
expose UberApplier as interface (not as implementation struct).
2022-05-20 14:32:04 +02:00
Piotr Tabor
5097b33ab9
Rename etcdserver/etcderrors package to etcdserver/errors.
2022-05-20 14:32:04 +02:00
Piotr Tabor
63b2f63cc1
Rename package alising "apply2" -> apply.
2022-05-20 14:32:04 +02:00
Piotr Tabor
c62f01e5fe
Move CheckTxnAuth to txn.
2022-05-20 14:32:04 +02:00
Piotr Tabor
c78bf655a7
Simplify imports and improve comments.
2022-05-20 14:32:04 +02:00
Piotr Tabor
4e04770bac
Apply encapsulation: Cleanup metrics reporting.
...
Side effect: applySec(0.4s) used to be reported as 0s, now it's correctly 0.4s.
2022-05-20 14:32:04 +02:00
Piotr Tabor
47a771871b
Move apply to its own package (no dependency on etcdserver).
2022-05-20 14:32:04 +02:00
Piotr Tabor
fc6a6c3c27
Move etcdserver/errors.go to sepatate package to avoid cyclic dependencies.
2022-05-20 14:32:04 +02:00
Piotr Tabor
e2ae9b1d13
Move server/etcdserver/txn.go to new package: server/etcdserver/txn
2022-05-20 14:32:04 +02:00
Piotr Tabor
b073129d03
Applier does not depend on EtcdServer any longer.
...
All the depencies are explicily passed to the UberApplier factory method.
2022-05-20 14:32:04 +02:00
Piotr Tabor
651de5a057
Rename EtcdServer.Id with EtcdServer.MemberId.
...
It was misleading and error prone vs. ClusterId.
2022-05-20 14:32:04 +02:00
Piotr Tabor
f348134edd
Marge applierV3Internal into applierV3 interface
2022-05-20 14:32:04 +02:00
Piotr Tabor
b7ad746bfe
Encapsulating applier logic: UberApplier coordinates all appliers for server
...
This PR:
- moves wrapping of appliers (due to Alarms) out of server.go into uber_applier.go
- clearly devides the application logic into: chain of:
a) 'WrapApply' (generic logic across all the methods)
b) dispatcher (translation of Apply into specific method like 'Put')
c) chain of 'wrappers' of the specific methods (like Put).
- when we do recovery (restore from snapshot) we create new instance of appliers.
The purpose is to make sure we control all the depencies of the apply process, i.e.
we can supply e.g. special instance of 'backend' to the application logic.
2022-05-20 14:32:04 +02:00
Piotr Tabor
cdf9869d70
Encapsulation of applier logic: Move Txn related code out of applier.go.
...
The PR removes calls to applierV3base logic from server.go that is NOT part of 'application'.
The original idea was that read-only transaction and Range call shared logic with Apply,
so they can call appliers directly (but bypassing all 'corrupt', 'quota' and 'auth' wrappers).
This PR moves all the logic to a separate file (that later can become package on its own).
2022-05-20 14:32:04 +02:00
Sahdev Zala
e02ceee9f3
Governance: Use lazy consensus when needed to make decision
...
In lack of supermajority, we sometimes required to hold on to
important decisions for long time. In order to speed up, after
giving enough time for supermajority, use lazy consensus.
2022-05-19 11:58:22 -04:00
Marek Siarkowicz
cc5d6f7dc3
Merge pull request #14052 from ahrtr/snapshot_save_error
...
Fix a typo: print the correct error info
2022-05-19 09:44:42 +02:00
ahrtr
b32ac1f67b
fix a typo: print the correct error info
2022-05-19 07:19:44 +08:00
Marek Siarkowicz
8e74358117
Merge pull request #14051 from serathius/detect-staged
...
scripts: Detect staged files before building release
2022-05-18 13:09:50 +02:00
Marek Siarkowicz
63e47656e0
scripts: Detect staged files before building release
2022-05-18 12:21:43 +02:00
Marek Siarkowicz
57515f23f7
Merge pull request #14044 from serathius/avoid-clone
...
scripts: Avoid additional repo clone
2022-05-18 10:17:47 +02:00
Marek Siarkowicz
08be44c7de
Merge pull request #14046 from serathius/pm-publish
...
Documentation: Publish v3.5 data inconsistency postmortem
2022-05-17 14:15:59 +02:00
Marek Siarkowicz
b99ba06eb3
Merge pull request #14042 from serathius/common-context
...
tests: Make common framework context aware
2022-05-16 16:08:53 +02:00
Marek Siarkowicz
31bcae0dcf
Documentation: Publish v3.5 data inconsistency postmortem
2022-05-16 16:02:18 +02:00
Marek Siarkowicz
e737f4296c
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.
2022-05-16 14:37:47 +02:00
Marek Siarkowicz
ee08770bfb
tests: Make common framework context aware
2022-05-16 14:35:44 +02:00
Benjamin Wang
7ec336f80c
Merge pull request #14033 from ahrtr/hide_revision
...
Hide the revision field when it isn't populated
2022-05-14 05:37:22 +08:00
Benjamin Wang
29f090b5c0
Merge pull request #14029 from serathius/spawn-json-command
...
tests: Refactor spawn json command
2022-05-14 05:06:03 +08:00
Marek Siarkowicz
bcebd1212d
Merge pull request #14038 from serathius/cluster-tc
...
tests: Extract cluster test cases
2022-05-13 15:39:43 +02:00
Marek Siarkowicz
83a4309f3b
tests: Refactor spawn json command
2022-05-13 15:04:45 +02:00
Marek Siarkowicz
9beb29916e
tests: Extract cluster test cases
2022-05-13 14:41:53 +02:00
ahrtr
beeb44d4ee
hide the revision field when it isn't populated
2022-05-13 19:40:57 +08:00