Commit 3f53a70
committed
fix(manifest): verify cached ManifestFile content before reusing it
The process-wide cache was keyed on manifest_path alone, and
ManifestFile equality compares only that path, so the first read of a
path won and any later read of the same path returned the earlier
object. Two tables referencing one path therefore shared a single
ManifestFile, and since its partition summaries, counts and sequence
numbers drive scan pruning, a mismatched entry changed which files a
scan considered.
Compare the full record before reusing a cached instance, falling back
to Record's structural equality, and replace the entry when the
content differs. Genuine reuse across consecutive snapshots still hits
the cache.
Closes #39781 parent 1312c55 commit 3f53a70
2 files changed
Lines changed: 47 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
941 | 941 | | |
942 | 942 | | |
943 | 943 | | |
944 | | - | |
| 944 | + | |
| 945 | + | |
945 | 946 | | |
946 | 947 | | |
947 | 948 | | |
| |||
975 | 976 | | |
976 | 977 | | |
977 | 978 | | |
978 | | - | |
979 | | - | |
| 979 | + | |
| 980 | + | |
| 981 | + | |
| 982 | + | |
| 983 | + | |
980 | 984 | | |
981 | 985 | | |
982 | 986 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1324 | 1324 | | |
1325 | 1325 | | |
1326 | 1326 | | |
| 1327 | + | |
| 1328 | + | |
| 1329 | + | |
| 1330 | + | |
| 1331 | + | |
| 1332 | + | |
| 1333 | + | |
| 1334 | + | |
| 1335 | + | |
| 1336 | + | |
| 1337 | + | |
| 1338 | + | |
| 1339 | + | |
| 1340 | + | |
| 1341 | + | |
| 1342 | + | |
| 1343 | + | |
| 1344 | + | |
| 1345 | + | |
| 1346 | + | |
| 1347 | + | |
| 1348 | + | |
| 1349 | + | |
| 1350 | + | |
| 1351 | + | |
| 1352 | + | |
| 1353 | + | |
| 1354 | + | |
| 1355 | + | |
| 1356 | + | |
| 1357 | + | |
| 1358 | + | |
| 1359 | + | |
| 1360 | + | |
| 1361 | + | |
| 1362 | + | |
| 1363 | + | |
| 1364 | + | |
| 1365 | + | |
| 1366 | + | |
1327 | 1367 | | |
1328 | 1368 | | |
1329 | 1369 | | |
| |||
0 commit comments