Jingyi Hu
55066ebdc0
mvcc: address comments
2019-06-13 18:05:50 -07:00
Jingyi Hu
a73fb85c0c
mvcc: fully concurrent read
2019-05-08 19:11:23 -07:00
Jingyi Hu
1c19f126cb
mvcc/backend: rename ReadTx Lock() to RLock()
...
For better code readability, renaming Lock() to RLock() in ReadTx
interface.
2019-03-05 13:53:27 -08:00
Gyuho Lee
d537b328cb
mvcc: update import paths "go.etcd.io/etcd"
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 17:47:55 -07:00
Gyuho Lee
e388a4a1a1
mvcc: simplify increment "rrev"
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-05 10:28:10 -07:00
Gyuho Lee
5165344981
mvcc: use latest revision to tombstone
...
We replace/insert into in-memory B-tree, which means
we only keep a single node per key thus do not support
delete by revision on B-tree. So, (*keyIndex).tombstone
has always been marked with latest revision.
tombstone with key's modified revision panics:
panic: store.keyindex: put with unexpected smaller revision [{2 0} / {2 0}]
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-09 09:07:39 -07:00
Gyuho Lee
03ef9745a9
mvcc: add more structured logging
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-04 13:15:51 -07:00
Gyuho Lee
3df30b9c7f
mvcc: fix "unconvert" warnings
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-30 15:32:16 -07:00
Gyuho Lee
8a518b01c4
*: revert "internal/mvcc" change
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-26 17:11:40 -08:00
Gyuho Lee
80d15948bc
*: move "mvcc" to "internal/mvcc"
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-26 11:14:41 -08:00
Gyuho Lee
349a377a67
*: move "lease" to "internal/lease"
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-26 11:09:29 -08:00
Anthony Romano
f58c0cfb66
mvcc: Revisions() method for index to avoid key allocation
...
Save another alloc on the one key path.
2017-08-21 11:30:02 -07:00
Anthony Romano
e9d096ae6b
mvcc: don't allocate end revision while computing range
...
Use 'nil' since it's only reading a single key. Also preallocates
the result slice based on limit / number of revisions fetched.
Fixes #8208
2017-07-06 15:59:27 -07:00
Anthony Romano
522e75cb4f
mvcc: use GaugeFunc metric to load db size when requested
...
Relying on mvcc to set the db size metric can cause it to
miss size changes when a txn commits after the last write
completes before a quiescent period. Instead, load the
db size on demand.
Fixes #8146
2017-06-21 23:58:37 -07:00
Anthony Romano
ef63abdf7f
mvcc: don't use pointer for storeTxnRead in storeTxnWrite
...
Saves an allocation when creating a storeTxnWrite.
2017-06-06 09:51:57 -07:00
Anthony Romano
33acbb694b
mvcc: txns and r/w views
...
Clean-up of the mvcc interfaces to use txn interfaces instead of an id.
Adds support for concurrent read-only mvcc transactions.
Fixes #7083
2017-03-08 20:52:59 -08:00