Commit 78f8281
committed
db: avoid duplicate range deletion iterator in the level checker
In 1a2a77b we began interleaving the boundaries of range deletions from
level iterators. This interleaving avoids stepping away from a table until its
range deletions are no longer useful. However, this interleaving required its
own range deletion iterator, necessitating opening two separate range deletion
iterators into the same block.
This commit updates the levelIter implementation to support interleaving range
deletions without using a rangeDelIterSetter callback and adds a new
getTombstone method that may be used to retrieve the tombstone at the current
iterator's position.
In this commit we update the level checker to no longer request its own range
deletion iterator through rangeDelIterSetter. Instead use the levelIter's
getTombstone method to read the current tombstone within each level, avoiding
opening the duplicate range deletion iterator.
This commit is a subset of the changes in the unmerged PR #3600. Future work
will apply the same technique to the merging iterator, allowing ordinary user
iterators to avoid the duplicate range deletion iterator too.1 parent 9298029 commit 78f8281
3 files changed
Lines changed: 120 additions & 74 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| 8 | + | |
| 9 | + | |
8 | 10 | | |
9 | 11 | | |
10 | 12 | | |
| |||
61 | 63 | | |
62 | 64 | | |
63 | 65 | | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| 21 | + | |
21 | 22 | | |
22 | 23 | | |
23 | 24 | | |
| |||
55 | 56 | | |
56 | 57 | | |
57 | 58 | | |
58 | | - | |
59 | | - | |
60 | | - | |
61 | | - | |
62 | | - | |
63 | | - | |
64 | | - | |
65 | | - | |
66 | | - | |
67 | | - | |
68 | | - | |
69 | | - | |
70 | | - | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
71 | 64 | | |
72 | 65 | | |
73 | 66 | | |
| |||
114 | 107 | | |
115 | 108 | | |
116 | 109 | | |
117 | | - | |
118 | | - | |
119 | | - | |
120 | | - | |
121 | | - | |
122 | | - | |
123 | | - | |
124 | | - | |
125 | | - | |
126 | | - | |
127 | | - | |
128 | | - | |
129 | | - | |
130 | | - | |
131 | | - | |
132 | | - | |
133 | | - | |
134 | | - | |
135 | | - | |
136 | | - | |
137 | 110 | | |
138 | 111 | | |
139 | 112 | | |
| |||
161 | 134 | | |
162 | 135 | | |
163 | 136 | | |
| 137 | + | |
164 | 138 | | |
165 | 139 | | |
166 | 140 | | |
| |||
201 | 175 | | |
202 | 176 | | |
203 | 177 | | |
204 | | - | |
205 | 178 | | |
206 | 179 | | |
207 | 180 | | |
| |||
283 | 256 | | |
284 | 257 | | |
285 | 258 | | |
286 | | - | |
| 259 | + | |
287 | 260 | | |
288 | 261 | | |
289 | | - | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
290 | 267 | | |
291 | | - | |
| 268 | + | |
292 | 269 | | |
293 | 270 | | |
294 | 271 | | |
| |||
589 | 566 | | |
590 | 567 | | |
591 | 568 | | |
592 | | - | |
593 | | - | |
594 | | - | |
595 | | - | |
596 | 569 | | |
597 | 570 | | |
598 | 571 | | |
599 | 572 | | |
600 | 573 | | |
601 | 574 | | |
602 | | - | |
603 | | - | |
604 | | - | |
605 | | - | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
606 | 578 | | |
607 | 579 | | |
608 | 580 | | |
| |||
634 | 606 | | |
635 | 607 | | |
636 | 608 | | |
637 | | - | |
| 609 | + | |
638 | 610 | | |
| 611 | + | |
639 | 612 | | |
640 | 613 | | |
641 | 614 | | |
| |||
649 | 622 | | |
650 | 623 | | |
651 | 624 | | |
652 | | - | |
| 625 | + | |
653 | 626 | | |
| 627 | + | |
654 | 628 | | |
655 | 629 | | |
656 | 630 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
76 | 84 | | |
77 | 85 | | |
78 | | - | |
| 86 | + | |
79 | 87 | | |
80 | 88 | | |
81 | | - | |
82 | | - | |
| 89 | + | |
| 90 | + | |
83 | 91 | | |
84 | 92 | | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | 93 | | |
92 | 94 | | |
93 | 95 | | |
| |||
170 | 172 | | |
171 | 173 | | |
172 | 174 | | |
173 | | - | |
| 175 | + | |
174 | 176 | | |
175 | | - | |
176 | | - | |
| 177 | + | |
| 178 | + | |
177 | 179 | | |
| 180 | + | |
178 | 181 | | |
179 | 182 | | |
180 | 183 | | |
| |||
571 | 574 | | |
572 | 575 | | |
573 | 576 | | |
574 | | - | |
| 577 | + | |
575 | 578 | | |
576 | 579 | | |
577 | 580 | | |
| |||
584 | 587 | | |
585 | 588 | | |
586 | 589 | | |
587 | | - | |
| 590 | + | |
588 | 591 | | |
589 | 592 | | |
590 | 593 | | |
591 | 594 | | |
592 | | - | |
593 | | - | |
594 | | - | |
595 | | - | |
596 | | - | |
597 | | - | |
598 | | - | |
599 | | - | |
600 | | - | |
601 | | - | |
602 | | - | |
| 595 | + | |
603 | 596 | | |
604 | 597 | | |
605 | 598 | | |
606 | 599 | | |
607 | 600 | | |
608 | 601 | | |
609 | | - | |
610 | | - | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
| 610 | + | |
| 611 | + | |
| 612 | + | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
611 | 623 | | |
612 | 624 | | |
613 | 625 | | |
| |||
1027 | 1039 | | |
1028 | 1040 | | |
1029 | 1041 | | |
| 1042 | + | |
| 1043 | + | |
| 1044 | + | |
| 1045 | + | |
| 1046 | + | |
| 1047 | + | |
| 1048 | + | |
| 1049 | + | |
| 1050 | + | |
| 1051 | + | |
| 1052 | + | |
| 1053 | + | |
| 1054 | + | |
1030 | 1055 | | |
1031 | 1056 | | |
1032 | 1057 | | |
| |||
0 commit comments