4704a5af3a
*: fix unused issue
...
Signed-off-by: Wei Fu <fuweid89@gmail.com >
2023-09-25 19:37:18 +08:00
aa97484166
*: enable goimports in verify-lint
...
Signed-off-by: Wei Fu <fuweid89@gmail.com >
2023-09-21 21:14:09 +08:00
53cbd81009
Separate Writer interface from BatchTx interfaces
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com >
2023-07-31 10:18:01 +02:00
29769984e6
Remove RLock/RUnlock from BatchTx
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com >
2023-07-28 11:39:50 +02:00
b4f8a7be51
server: Remove Lock/Unlock from ReadTx
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com >
2023-07-27 13:34:43 +02:00
bc97a94564
Follow up https://github.com/etcd-io/etcd/pull/16068#discussion_r1263664700
...
Replace unnecessary Lock()/Unlock()s with RLock()/RUnlock()s
Signed-off-by: caojiamingalan <alan.c.19971111@gmail.com >
2023-07-14 20:08:25 -05:00
19ec574f45
Merge pull request #15915 from hexfusion/bytes
...
server/storage/schema: prefer equal to compare for equality comparisons
2023-05-18 10:53:42 +08:00
a708e94749
server/storage/schema: prefer equal to compare for equality comparisons
...
Signed-off-by: Sam Batschelet <sbatschelet@gmail.com >
2023-05-16 21:25:34 -04:00
9abc895122
Goimports: Apply automated fixing to test files as well.
...
Signed-off-by: Piotr Tabor <ptab@google.com >
2022-12-29 13:04:45 +01:00
9e1abbab6e
Fix goimports in all existing files. Execution of ./scripts/fix.sh
...
Signed-off-by: Piotr Tabor <ptab@google.com >
2022-12-29 09:41:31 +01:00
faff80a2b3
etcdserve: format the source code
...
gofmt -w ./server
Signed-off-by: Benjamin Wang <wachao@vmware.com >
2022-12-02 13:00:59 +08:00
e9aa275b36
etcdserver: update etcdserver to use the new raft module go.etcd.io/raft/v3
...
Just replaced all go.etcd.io/etcd/raft/v3 with go.etcd.io/raft/v3
under directory server.
Signed-off-by: Benjamin Wang <wachao@vmware.com >
2022-12-02 09:33:45 +08:00
c3b6cbdb73
all: goimports -w .
...
Signed-off-by: Sasha Melentyev <sasha@melentyev.io >
2022-11-17 19:07:04 +03:00
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
de09174a3f
server/auth: protect rangePermCache with a RW lock
...
Signed-off-by: Hitoshi Mitake <h.mitake@gmail.com >
2022-07-02 23:23:13 +09:00
5f8cd5bd39
Replace all etcd versions with the centralized definitions
...
We have already defined all the constant etcd versions in the
centralized place api/version/version.go. So we should replace all
the versions with the centralized definitions.
2022-06-13 14:08:39 +08:00
d69e07dd3a
Verification framework and check whether cindex is not decreasing.
2022-04-22 12:32:05 +02:00
1ea53d527e
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.
2022-04-07 19:00:03 +02:00
e155e50886
rename LockWithoutHook to LockOutsideApply and add LockInsideApply
2022-04-07 05:35:13 +08:00
7ac995cdde
enhanced authBackend to support authReadTx
2022-04-07 05:35:13 +08:00
bfd5170f66
add 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.
2022-04-07 05:35:13 +08:00
73fc864247
tests: Pass logger to backend
2022-04-05 15:53:38 +02:00
3ecd8d2364
update incorrect migration log message
...
It can be upgrade or downgrade, so we should use word "updated" here.
2022-03-10 04:39:56 +08:00
d578a86a59
fix some log format typos
2022-03-10 03:26:34 +08:00
1ae5aa52de
fix some typos related to downgrade
2022-03-09 16:07:18 +08:00
fd79af9ee7
load all leases from backend
2022-02-13 20:30:20 -08:00
282e4e6e88
make code more readable.
2022-01-19 22:24:49 +08:00
97d1f935f6
avoid always update meta term.
2021-12-29 11:23:38 +08:00
431adc5878
server: Implement storage downgrades
...
By validating if WAL doesn't include any incompatible entries we can
implement storage downgrades.
2021-10-29 12:47:19 +02:00
703df1c491
server: Move wal versioning functions to wal package
2021-10-08 12:01:53 +02:00
1e5e57f268
server: Move downgrade detection code to version package
2021-10-08 10:41:37 +02:00
79f6faa5c7
Apply suggestions from code review
...
Co-authored-by: Lili Cosic <cosiclili@gmail.com >
2021-09-10 10:16:48 +02:00
ff3729c4d5
server: Implement storage schema migration to follow cluster version change and panic if unknown storage version is found
...
Storage version should follow cluster version. During upgrades this
should be immidiate as storage version can be always upgraded as storage
is backward compatible. During downgrades it will be delayed and will
require time for incompatible changes to be snapshotted.
As storage version change can happen long after cluster is running, we
need to add a step during bootstrap to validate if loaded data can be
understood by migrator.
2021-09-10 10:16:48 +02:00
0d15ff57e6
server: Implement schema migrations
2021-09-10 10:16:48 +02:00
873f3691f1
Merge pull request #13216 from serathius/wal
...
Annotate proto messages with version and detect etcd version generated the wal
2021-08-06 10:58:57 +02:00
b4b50f7852
etcdutl: Implement migrate --force command
...
Co-authored-by: nic-chen <33000667+nic-chen@users.noreply.github.com >
Co-authored-by: Heisenberg <yuzhiquanlong@gmail.com >
2021-08-04 17:58:18 +02:00
1b4e54c238
api: Annotate proto messages and use it to detect etcd version that generated wal
...
Co-authored-by: Lili Cosic <cosiclili@gmail.com >
2021-08-04 13:36:08 +02:00
bc16461995
server: Use zaptest in bucket tests and move backendMock to separate file
2021-07-20 18:12:02 +02:00
a0554a6bd3
etcdserver: Create AuthBackend interface
2021-07-20 18:09:53 +02:00
6cd3633543
etcdserver: Rename membershipStore to membershipBackend
2021-07-20 17:56:52 +02:00
2f31cc3fbc
etcdserver: Create AlarmBackend interface
2021-07-20 17:53:44 +02:00
a97e48e08d
Cleanup references to bucket module
2021-07-20 17:50:47 +02:00
f6534f1e92
server: Move setting storage version to schema
2021-07-12 15:37:21 +02:00
5b6f4579fb
server: Rename buckets to schema
2021-07-12 15:37:21 +02:00