Commit 8474f8a
authored
Validate source of an index in LuceneChangesSnapshot (#32288)
Today it's possible to encounter an Index operation in Lucene whose
_source is disabled, and _recovery_source was pruned by the MergePolicy.
If it's the case, we create a Translog#Index without source and let the
caller validate it later. However, this approach is challenging for the
caller.
Deletes and No-Ops don't allow invoking "source()" method. The caller
has to make sure to call "source()" only on index operations. The
current implementation in CCR does not follow this and fail to replica
deletes or no-ops. Moreover, it's easier to reason if a Translog#Index
always has the source.1 parent 90c5887 commit 8474f8a
File tree
6 files changed
+49
-34
lines changed- server/src
- main/java/org/elasticsearch/index
- engine
- translog
- test/java/org/elasticsearch/index/engine
- test/framework/src/main/java/org/elasticsearch/index/engine
- x-pack/plugin/ccr/src
- main/java/org/elasticsearch/xpack/ccr/action
- test/java/org/elasticsearch/xpack/ccr/action
6 files changed
+49
-34
lines changedLines changed: 12 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
258 | 258 | | |
259 | 259 | | |
260 | 260 | | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
261 | 272 | | |
262 | 273 | | |
263 | 274 | | |
264 | | - | |
| 275 | + | |
265 | 276 | | |
266 | 277 | | |
267 | 278 | | |
| |||
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1061 | 1061 | | |
1062 | 1062 | | |
1063 | 1063 | | |
1064 | | - | |
| 1064 | + | |
1065 | 1065 | | |
1066 | 1066 | | |
1067 | 1067 | | |
| |||
1111 | 1111 | | |
1112 | 1112 | | |
1113 | 1113 | | |
1114 | | - | |
| 1114 | + | |
1115 | 1115 | | |
1116 | 1116 | | |
1117 | 1117 | | |
| |||
Lines changed: 17 additions & 14 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1418 | 1418 | | |
1419 | 1419 | | |
1420 | 1420 | | |
| 1421 | + | |
1421 | 1422 | | |
1422 | 1423 | | |
1423 | 1424 | | |
1424 | 1425 | | |
1425 | 1426 | | |
1426 | | - | |
1427 | | - | |
| 1427 | + | |
| 1428 | + | |
1428 | 1429 | | |
1429 | 1430 | | |
| 1431 | + | |
| 1432 | + | |
| 1433 | + | |
1430 | 1434 | | |
1431 | 1435 | | |
1432 | | - | |
1433 | | - | |
| 1436 | + | |
| 1437 | + | |
1434 | 1438 | | |
1435 | 1439 | | |
1436 | 1440 | | |
| 1441 | + | |
1437 | 1442 | | |
1438 | 1443 | | |
1439 | 1444 | | |
1440 | 1445 | | |
| 1446 | + | |
| 1447 | + | |
| 1448 | + | |
| 1449 | + | |
| 1450 | + | |
1441 | 1451 | | |
1442 | 1452 | | |
1443 | 1453 | | |
| |||
1453 | 1463 | | |
1454 | 1464 | | |
1455 | 1465 | | |
1456 | | - | |
1457 | | - | |
1458 | | - | |
1459 | | - | |
1460 | | - | |
1461 | | - | |
| 1466 | + | |
1462 | 1467 | | |
1463 | 1468 | | |
1464 | 1469 | | |
| |||
1483 | 1488 | | |
1484 | 1489 | | |
1485 | 1490 | | |
1486 | | - | |
1487 | | - | |
1488 | | - | |
1489 | | - | |
| 1491 | + | |
| 1492 | + | |
1490 | 1493 | | |
1491 | 1494 | | |
1492 | 1495 | | |
| |||
Lines changed: 1 addition & 10 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
104 | 104 | | |
105 | 105 | | |
106 | 106 | | |
107 | | - | |
108 | 107 | | |
109 | 108 | | |
110 | 109 | | |
| |||
822 | 821 | | |
823 | 822 | | |
824 | 823 | | |
825 | | - | |
826 | | - | |
827 | | - | |
828 | | - | |
829 | | - | |
830 | | - | |
831 | | - | |
832 | | - | |
833 | 824 | | |
834 | 825 | | |
835 | 826 | | |
| |||
867 | 858 | | |
868 | 859 | | |
869 | 860 | | |
870 | | - | |
| 861 | + | |
871 | 862 | | |
872 | 863 | | |
873 | 864 | | |
| |||
Lines changed: 0 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
283 | 283 | | |
284 | 284 | | |
285 | 285 | | |
286 | | - | |
287 | | - | |
288 | | - | |
289 | | - | |
290 | 286 | | |
291 | 287 | | |
292 | 288 | | |
| |||
Lines changed: 17 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
10 | 13 | | |
11 | 14 | | |
12 | 15 | | |
| |||
30 | 33 | | |
31 | 34 | | |
32 | 35 | | |
| 36 | + | |
33 | 37 | | |
34 | 38 | | |
35 | 39 | | |
| |||
50 | 54 | | |
51 | 55 | | |
52 | 56 | | |
53 | | - | |
54 | 57 | | |
55 | | - | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
56 | 70 | | |
57 | 71 | | |
58 | | - | |
| 72 | + | |
59 | 73 | | |
60 | 74 | | |
61 | 75 | | |
| |||
0 commit comments