182aef6e6b
etcdserver: Fix invalid count returned on Range with Limit
2021-06-01 15:04:28 +02:00
71934ff244
Merge pull request #13010 from ipixiu/imp/store-scheduleCompaction-lock
...
limit tx lock scope in store.scheduleCompaction
2021-05-26 08:51:44 +02:00
05674c87fb
Merge pull request #13018 from ipixiu/feature/bolt-compaction-sleep-interval
...
add bolt compaction sleep interval
2021-05-25 10:06:47 -04:00
9c82e8c72b
server: set multiple concurrentReadTx instances share one txReadBuffer.
2021-05-24 15:16:53 -07:00
184b0e5d49
add sleep interval
2021-05-24 16:22:00 +08:00
6d68f7841a
limit tx lock scope
2021-05-19 23:47:46 +08:00
46b49a6ecf
Merge pull request #12991 from ptabor/20210519-mlmhl-buffer-seq
...
Represent bucket as object instead of []byte name.
2021-05-18 19:32:01 +02:00
66752fef2f
Represent bucket as object instead of []byte name.
...
Thanks to this change:
- all the maps bucket -> buffer are indexed by int's instead of
string. No need to do: byte[] -> string -> hash conversion on each
access.
- buckets are strongly typed in backend/mvcc API.
2021-05-18 18:58:53 +02:00
62b731909f
Merge pull request #12587 from mlmhl/buffer-search
...
backend: fix buffer range bug
2021-05-18 10:54:30 +02:00
eebe67d87d
Rename seq to bucket2seq.
2021-05-17 17:29:44 +02:00
4a2ffc2cbe
Minor formatting fix on top of https://github.com/etcd-io/etcd/pull/12568
2021-05-17 17:08:00 +02:00
79eafb9719
backend: set seq flag for each bucket buffer
2021-05-17 17:08:00 +02:00
d99d0df5a5
Adding etcdutl test coverage.
2021-05-17 11:54:03 +02:00
ab586cd463
Persists Term in the (bbolt) Backend.
...
Additional layer of protection, that allows to validate whether we
start replaying log not only from the proper 'index', but also of the
right 'term'.
2021-05-13 21:29:01 +02:00
865df75714
Save raftpb.ConfState in the backend.
...
This makes (bbolt) backend a full feature snapshot in term of WAL/raft,
i.e. carries:
- commit : (applied_index)
- confState
Benefits:
- Backend will be a sufficient point in time definition sufficient to
start replaying WAL. We have applied_index & confState in consistent
state.
- In case of emergency a backend state can be used for recovery
2021-05-13 14:29:36 +02:00
aeb9b5fc73
Merge pull request #12855 from ptabor/20210409-backend-hooks
...
(no)StoreV2 (Part 4): Backend hooks: precommit updates consistency_index
2021-05-08 09:34:31 +02:00
344c9f3930
Merge pull request #12896 from wilsonwang371/profiling-txn2
...
server: make applier use ReadTx() in Txn() instead of ConcurrentReadTx()
2021-05-06 01:59:14 -07:00
a78d072b9a
Simplify KVstore dependency on cindex.
2021-05-04 18:21:24 +02:00
2dbecea5b2
Simplify KVStore interaction with cindex thanks to hooks.
2021-05-04 18:21:23 +02:00
d53d2db1e2
Tests: Backend hooks support.
2021-05-04 15:38:22 +02:00
9f11b16b2d
backend: Hooks interface & implementation.
2021-05-04 15:38:22 +02:00
56154216b7
update variable declaration location
2021-05-03 10:30:15 -07:00
6623c008ee
server: reapply Mlock
flag after defrag
2021-05-03 11:01:02 +02:00
cedbea6c81
Merge pull request #12904 from wpedrak/limit_mlocked_memory
...
server: replace mlockall with `Mlock` in `--experimental-memory-mlock`
2021-04-29 18:21:24 +02:00
927b3a3152
server: replace mlockall with Mlock
in --experimental-memory-mlock
...
Implementation of `--experimental-memory-mlock` backed by `mlockall` syscall is replaced by `Mlock` flag (backed by mlock syscall) of bboltDB.
2021-04-29 12:08:20 +02:00
e90504fe62
Unify shared code (and constants) with cindex package.
2021-04-29 11:51:25 +02:00
8d8d0377a2
server: applier uses ReadTx instead of ConcurrentTx
2021-04-28 11:06:24 -07:00
7ae3d25f91
Membership: Add additional methods to trim/manage membership data in backend.
2021-04-27 17:17:31 +02:00
ddcb463822
etcdserver/mvcc: update trace.Step condition
2021-04-25 23:07:45 +08:00
d7d110b5a8
mvcc/backend tests: Refactor: Do not mix testing&prod code.
2021-04-21 09:43:13 +02:00
b1c04ce043
Applying consistency fix: ClusterVersionSet (and co) might get no applied on v2store
...
ClusterVersionSet, ClusterMemberAttrSet, DowngradeInfoSet functions are
writing both to V2store and backend. Prior this CL there were
in a branch not executed if shouldApplyV3 was false,
e.g. during restore when Backend is up-to-date (has high
consistency-index) while v2store requires replay from WAL log.
The most serious consequence of this bug was that v2store after restore
could have different index (revision) than the same exact store before restore,
so potentially different content between replicas.
Also this change is supressing double-applying of Membership
(ClusterConfig) changes on Backend (store v3) - that lackilly are not
part of MVCC/KeyValue store, so they didn't caused Revisions to be
bumped.
Inspired by jingyih@ comment:
https://github.com/etcd-io/etcd/pull/12820#issuecomment-815299406
2021-04-12 09:43:48 +02:00
3bb7acc8cf
Migrate dependencies pkg/foo -> client/pkg/foo
2021-04-07 00:38:47 +02:00
03f55eeb2c
Make NewTmpBackend use testing tmp location (so cleanup).
2021-03-26 13:54:55 +01:00
49d19efd82
Correct ineffassign
2021-03-22 14:11:30 -04:00
dac6e37ea1
*: over 20 staticcheck fixes
2021-03-18 15:06:17 +01:00
948e32ae15
Delete etcd_debug metrics scheduled for deletion in 3.5.
2021-03-12 16:30:47 +01:00
a7f340216d
Reformat code according to 'gotip' rules.
...
In practices adds annotations in the new syntax:
```
+//go:build !linux
// +build !linux
```
Fixes failing gotip PASSES='fmt' check:
https://travis-ci.com/github/etcd-io/etcd/jobs/486453806
2021-02-26 10:14:46 +01:00
7ef6ebd5eb
mvcc: optimize watch logic of watchableStore
...
Optimize watchableStore.watch func
2021-02-22 14:10:25 +08:00
ebf461a7de
backend: fix buffer range bug
2020-12-30 16:05:42 +08:00
0558e379c3
server: proper request cancellation for range
2020-11-05 21:30:02 -08:00
aaf423e962
server: Update imports.
...
find -name '*.go' | xargs sed -i --follow-symlinks 's|etcd/v3/|etcd/server/v3/|g'
2020-10-26 13:02:32 +01:00
4a5e9d1261
server: Move server files to 'server' directory.
...
26 git mv mvcc wal auth etcdserver etcdmain proxy embed/ lease/ server
36 git mv go.mod go.sum server
2020-10-26 12:57:19 +01:00