etcd/mvcc
Gyuho Lee 2e95ace82b mvcc: fetch revisions with current revision, not 0, in HashByRev
It was getting revisions with "atRev==0", which makes
"available" from "keep" method always empty since
"walk" on "keyIndex" only returns true.

"available" should be populated with all revisions to be
kept if the compaction happens with the given revision.
But, "available" was being empty when "kvindex.Keep(0)"
since it's always the case that "rev.main > atRev==0".

Fix https://github.com/coreos/etcd/issues/9022.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2017-12-18 12:17:06 -08:00
..
backend backend: cache buckets in read tx 2017-08-21 02:16:55 -07:00
mvccpb *: regenerate protobuf, grpc-gateway 2017-12-07 21:31:13 -08:00
doc.go mvcc: update LICENSE header 2016-05-12 20:50:33 -07:00
index.go mvcc: move 'keyi' define before holding locks 2017-10-05 10:06:28 -07:00
index_test.go mvcc: add tests for Keep 2017-07-31 17:59:42 -07:00
key_index.go mvcc: add tests for Keep 2017-07-31 17:59:42 -07:00
key_index_test.go mvcc: add tests for Keep 2017-07-31 17:59:42 -07:00
kv.go mvcc: add HashByRev to kv.go 2017-07-25 17:00:46 -07:00
kv_test.go mvcc: test keys gauge is reloaded correctly on restore 2017-08-10 09:21:39 -07:00
kv_view.go mvcc: txns and r/w views 2017-03-08 20:52:59 -08:00
kvstore.go mvcc: fetch revisions with current revision, not 0, in HashByRev 2017-12-18 12:17:06 -08:00
kvstore_bench_test.go mvcc: add range benchmark for fetching 100 keys 2017-08-31 13:23:23 -07:00
kvstore_compaction.go mvcc: Add metric for count of db key revisions compacted. 2017-07-20 10:07:56 -07:00
kvstore_compaction_test.go mvcc: fix gofmt issues from Go tip 2016-10-20 16:32:47 -07:00
kvstore_test.go mvcc: fetch revisions with current revision, not 0, in HashByRev 2017-12-18 12:17:06 -08:00
kvstore_txn.go mvcc: Revisions() method for index to avoid key allocation 2017-08-21 11:30:02 -07:00
metrics.go mvcc: Add metric for count of db key revisions compacted. 2017-07-20 10:07:56 -07:00
metrics_txn.go mvcc: count range/put/del operations for txns 2017-06-07 16:53:50 -07:00
revision.go mvcc: update LICENSE header 2016-05-12 20:50:33 -07:00
revision_test.go mvcc: update LICENSE header 2016-05-12 20:50:33 -07:00
util.go mvcc: use capnslog 2016-05-20 22:31:22 -07:00
watchable_store.go mvcc: only remove watch cancel after cancel completes 2017-08-28 17:06:33 -07:00
watchable_store_bench_test.go mvcc: txns and r/w views 2017-03-08 20:52:59 -08:00
watchable_store_test.go mvcc: test concurrently closing watch streams and canceling watches 2017-08-28 17:06:32 -07:00
watchable_store_txn.go mvcc: txns and r/w views 2017-03-08 20:52:59 -08:00
watcher.go mvcc: only remove watch cancel after cancel completes 2017-08-28 17:06:33 -07:00
watcher_bench_test.go mvcc: update LICENSE header 2016-05-12 20:50:33 -07:00
watcher_group.go *: support checking that an interval tree's keys cover an entire interval 2017-04-03 15:38:07 -07:00
watcher_test.go mvcc: return -1 for wrong watcher range key >= end 2016-11-08 17:02:28 -08:00