Commit 15da4aa
authored
[Spark] Only enable a single legacy feature with legacy metadata properties (#3657)
#### Which Delta project/connector is this regarding?
- [X] Spark
- [ ] Standalone
- [ ] Flink
- [ ] Kernel
- [ ] Other (fill in here)
## Description
Currently enabling legacy features on legacy protocols with metadata
properties results to enabling all preceding legacy features. For
example, enabling enableChangeDataFeed results to protocol (1, 4). This
is inconsistent with the rest of the protocol operations. In this PR, we fix
this inconsistency by always enabling only the requested feature. This
is a behavioral change.
## How was this patch tested?
Existing and new unit tests.
## Does this PR introduce _any_ user-facing changes?
Yes. When enabling a feature using a table property, e.g. by setting
`delta.enableChangeDataFeed` to `true`, then in the previous situation
you would typically get protocol `(1, 4)`. Now you would get `(1, 7,
changeDataFeed)`. The user can get `(1, 4)` by also asking for
`delta.minWriterVersion = 4`. This change is OK now because (a) enabling
fewer features is safer than enabling more features, and (b) Deletion
Vectors requires table features support, and it is very popular to
implement, so many clients have added support table features, (c) users
can easily get back to the legacy protocol by ALTERing the protocol and
asking for `delta.minWriterVersion = 4`.
Signed-off-by: Bart Samwel <bart.samwel@databricks.com>1 parent ac667ff commit 15da4aa
12 files changed
Lines changed: 200 additions & 153 deletions
File tree
- sharing/src/test/scala/io/delta/sharing/spark
- spark/src
- main/scala/org/apache/spark/sql/delta/actions
- test/scala/org/apache/spark/sql/delta
- schema
Lines changed: 4 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
85 | 85 | | |
86 | 86 | | |
87 | 87 | | |
88 | | - | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
89 | 92 | | |
90 | 93 | | |
91 | 94 | | |
| |||
Lines changed: 18 additions & 66 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
322 | 322 | | |
323 | 323 | | |
324 | 324 | | |
325 | | - | |
326 | | - | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
327 | 328 | | |
328 | | - | |
329 | | - | |
330 | | - | |
| 329 | + | |
| 330 | + | |
331 | 331 | | |
332 | 332 | | |
333 | 333 | | |
| |||
343 | 343 | | |
344 | 344 | | |
345 | 345 | | |
346 | | - | |
347 | | - | |
348 | | - | |
349 | | - | |
350 | | - | |
351 | | - | |
352 | | - | |
353 | | - | |
354 | | - | |
355 | | - | |
356 | | - | |
357 | | - | |
358 | | - | |
359 | | - | |
360 | | - | |
361 | | - | |
362 | | - | |
363 | | - | |
364 | | - | |
365 | | - | |
366 | | - | |
367 | | - | |
368 | | - | |
369 | | - | |
370 | | - | |
371 | | - | |
372 | 346 | | |
373 | 347 | | |
374 | 348 | | |
375 | 349 | | |
376 | 350 | | |
377 | | - | |
378 | | - | |
379 | | - | |
380 | | - | |
381 | | - | |
382 | | - | |
383 | | - | |
384 | | - | |
385 | | - | |
386 | 351 | | |
387 | 352 | | |
388 | 353 | | |
| |||
399 | 364 | | |
400 | 365 | | |
401 | 366 | | |
402 | | - | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
403 | 375 | | |
404 | 376 | | |
405 | 377 | | |
| |||
488 | 460 | | |
489 | 461 | | |
490 | 462 | | |
491 | | - | |
492 | | - | |
493 | | - | |
494 | | - | |
495 | | - | |
496 | | - | |
497 | | - | |
498 | | - | |
499 | | - | |
500 | | - | |
501 | | - | |
502 | | - | |
503 | | - | |
504 | | - | |
505 | | - | |
506 | | - | |
507 | | - | |
508 | | - | |
509 | | - | |
510 | | - | |
511 | | - | |
512 | | - | |
513 | | - | |
514 | | - | |
| 463 | + | |
515 | 464 | | |
516 | | - | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
517 | 469 | | |
518 | 470 | | |
519 | 471 | | |
| |||
Lines changed: 9 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
308 | 308 | | |
309 | 309 | | |
310 | 310 | | |
311 | | - | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
312 | 316 | | |
313 | | - | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
314 | 321 | | |
315 | 322 | | |
316 | 323 | | |
| |||
Lines changed: 14 additions & 12 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
482 | 482 | | |
483 | 483 | | |
484 | 484 | | |
485 | | - | |
| 485 | + | |
| 486 | + | |
486 | 487 | | |
487 | 488 | | |
488 | 489 | | |
489 | 490 | | |
490 | | - | |
| 491 | + | |
491 | 492 | | |
492 | 493 | | |
493 | 494 | | |
| |||
826 | 827 | | |
827 | 828 | | |
828 | 829 | | |
829 | | - | |
| 830 | + | |
830 | 831 | | |
831 | 832 | | |
832 | 833 | | |
| |||
849 | 850 | | |
850 | 851 | | |
851 | 852 | | |
852 | | - | |
| 853 | + | |
853 | 854 | | |
854 | 855 | | |
855 | 856 | | |
| |||
871 | 872 | | |
872 | 873 | | |
873 | 874 | | |
874 | | - | |
| 875 | + | |
875 | 876 | | |
876 | 877 | | |
877 | 878 | | |
| |||
886 | 887 | | |
887 | 888 | | |
888 | 889 | | |
889 | | - | |
| 890 | + | |
890 | 891 | | |
891 | 892 | | |
892 | 893 | | |
| |||
938 | 939 | | |
939 | 940 | | |
940 | 941 | | |
941 | | - | |
| 942 | + | |
942 | 943 | | |
943 | 944 | | |
944 | 945 | | |
| |||
960 | 961 | | |
961 | 962 | | |
962 | 963 | | |
963 | | - | |
| 964 | + | |
964 | 965 | | |
965 | 966 | | |
966 | 967 | | |
| |||
998 | 999 | | |
999 | 1000 | | |
1000 | 1001 | | |
1001 | | - | |
| 1002 | + | |
1002 | 1003 | | |
1003 | 1004 | | |
1004 | 1005 | | |
| |||
1013 | 1014 | | |
1014 | 1015 | | |
1015 | 1016 | | |
1016 | | - | |
| 1017 | + | |
1017 | 1018 | | |
1018 | 1019 | | |
1019 | 1020 | | |
| |||
1037 | 1038 | | |
1038 | 1039 | | |
1039 | 1040 | | |
1040 | | - | |
| 1041 | + | |
1041 | 1042 | | |
1042 | 1043 | | |
1043 | 1044 | | |
| |||
1627 | 1628 | | |
1628 | 1629 | | |
1629 | 1630 | | |
1630 | | - | |
| 1631 | + | |
| 1632 | + | |
1631 | 1633 | | |
1632 | 1634 | | |
1633 | 1635 | | |
| |||
Lines changed: 12 additions & 12 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
169 | 169 | | |
170 | 170 | | |
171 | 171 | | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
172 | 182 | | |
173 | 183 | | |
174 | 184 | | |
175 | | - | |
176 | | - | |
177 | | - | |
178 | | - | |
179 | | - | |
180 | | - | |
| 185 | + | |
181 | 186 | | |
182 | 187 | | |
183 | 188 | | |
184 | 189 | | |
185 | | - | |
186 | | - | |
187 | | - | |
188 | | - | |
189 | | - | |
190 | | - | |
| 190 | + | |
191 | 191 | | |
192 | 192 | | |
193 | 193 | | |
| |||
0 commit comments