Commit 68022eb
authored
Refresh views during one-shot schedule cleanup (#4639)
# Description of Changes
Fixes a bug where clients subscribed through views could miss delete
updates when a one-shot scheduled reducer or procedure completed and the
scheduler automatically deleted the corresponding schedule row. This
patch ensures that scheduled-row cleanup refreshes any stale views
before commit/broadcast.
Note, this only affected one-shot schedules. Interval schedules do not
delete their schedule row after each run, so they were not going through
this path.
# API and ABI breaking changes
None
# Expected complexity level and risk
1.5
# Testing
Added regression coverage for:
- one-shot scheduled reducer: table + view subscription sees insert then
delete
- one-shot scheduled procedure: table + view subscription sees insert
then delete
- failing scheduled reducer: cleanup still refreshes the dependent view
delete
- observe transitive scheduled table updates through join
The one-shot tests now assert on the scheduled table and dependent view
in the same subscription updates, which proves the delete comes from the
automatic cleanup transaction itself rather than a later manual write.1 parent 3fe50e7 commit 68022eb
7 files changed
Lines changed: 362 additions & 184 deletions
File tree
- crates
- core/src
- host
- wasm_common
- sql
- smoketests
- modules
- schedule-procedure/src
- schedule-subscribe/src
- tests/smoketests
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1904 | 1904 | | |
1905 | 1905 | | |
1906 | 1906 | | |
| 1907 | + | |
| 1908 | + | |
| 1909 | + | |
| 1910 | + | |
1907 | 1911 | | |
1908 | 1912 | | |
1909 | 1913 | | |
1910 | 1914 | | |
1911 | | - | |
1912 | | - | |
| 1915 | + | |
| 1916 | + | |
| 1917 | + | |
| 1918 | + | |
| 1919 | + | |
| 1920 | + | |
| 1921 | + | |
| 1922 | + | |
| 1923 | + | |
| 1924 | + | |
| 1925 | + | |
| 1926 | + | |
| 1927 | + | |
| 1928 | + | |
| 1929 | + | |
1913 | 1930 | | |
| 1931 | + | |
| 1932 | + | |
| 1933 | + | |
| 1934 | + | |
1914 | 1935 | | |
1915 | | - | |
1916 | 1936 | | |
1917 | 1937 | | |
1918 | 1938 | | |
1919 | 1939 | | |
1920 | 1940 | | |
1921 | | - | |
| 1941 | + | |
1922 | 1942 | | |
1923 | | - | |
1924 | | - | |
1925 | | - | |
| 1943 | + | |
| 1944 | + | |
| 1945 | + | |
| 1946 | + | |
| 1947 | + | |
| 1948 | + | |
| 1949 | + | |
| 1950 | + | |
| 1951 | + | |
| 1952 | + | |
| 1953 | + | |
1926 | 1954 | | |
1927 | | - | |
| 1955 | + | |
1928 | 1956 | | |
1929 | | - | |
| 1957 | + | |
1930 | 1958 | | |
1931 | 1959 | | |
1932 | 1960 | | |
1933 | | - | |
| 1961 | + | |
1934 | 1962 | | |
1935 | 1963 | | |
1936 | | - | |
| 1964 | + | |
| 1965 | + | |
| 1966 | + | |
| 1967 | + | |
1937 | 1968 | | |
1938 | 1969 | | |
1939 | | - | |
1940 | | - | |
1941 | | - | |
1942 | | - | |
1943 | | - | |
| 1970 | + | |
| 1971 | + | |
| 1972 | + | |
| 1973 | + | |
| 1974 | + | |
1944 | 1975 | | |
1945 | 1976 | | |
1946 | 1977 | | |
1947 | | - | |
| 1978 | + | |
1948 | 1979 | | |
1949 | 1980 | | |
1950 | 1981 | | |
1951 | | - | |
| 1982 | + | |
| 1983 | + | |
| 1984 | + | |
| 1985 | + | |
| 1986 | + | |
| 1987 | + | |
| 1988 | + | |
| 1989 | + | |
| 1990 | + | |
| 1991 | + | |
1952 | 1992 | | |
1953 | 1993 | | |
1954 | 1994 | | |
| |||
1960 | 2000 | | |
1961 | 2001 | | |
1962 | 2002 | | |
| 2003 | + | |
| 2004 | + | |
| 2005 | + | |
| 2006 | + | |
| 2007 | + | |
| 2008 | + | |
| 2009 | + | |
| 2010 | + | |
| 2011 | + | |
| 2012 | + | |
| 2013 | + | |
| 2014 | + | |
| 2015 | + | |
| 2016 | + | |
| 2017 | + | |
| 2018 | + | |
| 2019 | + | |
| 2020 | + | |
| 2021 | + | |
| 2022 | + | |
| 2023 | + | |
| 2024 | + | |
| 2025 | + | |
| 2026 | + | |
1963 | 2027 | | |
1964 | 2028 | | |
1965 | 2029 | | |
| |||
1969 | 2033 | | |
1970 | 2034 | | |
1971 | 2035 | | |
1972 | | - | |
1973 | | - | |
1974 | | - | |
1975 | | - | |
1976 | | - | |
1977 | | - | |
1978 | | - | |
1979 | | - | |
1980 | | - | |
1981 | | - | |
1982 | | - | |
1983 | | - | |
1984 | | - | |
1985 | | - | |
1986 | | - | |
| 2036 | + | |
| 2037 | + | |
| 2038 | + | |
1987 | 2039 | | |
1988 | 2040 | | |
1989 | 2041 | | |
| |||
1997 | 2049 | | |
1998 | 2050 | | |
1999 | 2051 | | |
2000 | | - | |
| 2052 | + | |
| 2053 | + | |
2001 | 2054 | | |
2002 | 2055 | | |
2003 | | - | |
| 2056 | + | |
2004 | 2057 | | |
2005 | 2058 | | |
2006 | 2059 | | |
| |||
2011 | 2064 | | |
2012 | 2065 | | |
2013 | 2066 | | |
2014 | | - | |
| 2067 | + | |
2015 | 2068 | | |
2016 | 2069 | | |
2017 | 2070 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
379 | 379 | | |
380 | 380 | | |
381 | 381 | | |
382 | | - | |
383 | | - | |
384 | | - | |
385 | | - | |
386 | | - | |
387 | | - | |
388 | | - | |
389 | | - | |
390 | | - | |
391 | | - | |
392 | | - | |
393 | | - | |
394 | | - | |
395 | | - | |
396 | | - | |
397 | 382 | | |
398 | 383 | | |
399 | 384 | | |
| |||
416 | 401 | | |
417 | 402 | | |
418 | 403 | | |
419 | | - | |
| 404 | + | |
420 | 405 | | |
421 | 406 | | |
422 | 407 | | |
| |||
452 | 437 | | |
453 | 438 | | |
454 | 439 | | |
455 | | - | |
| 440 | + | |
456 | 441 | | |
457 | 442 | | |
458 | 443 | | |
| |||
463 | 448 | | |
464 | 449 | | |
465 | 450 | | |
466 | | - | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
467 | 460 | | |
468 | 461 | | |
469 | 462 | | |
| |||
492 | 485 | | |
493 | 486 | | |
494 | 487 | | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
495 | 522 | | |
496 | 523 | | |
497 | 524 | | |
498 | 525 | | |
499 | 526 | | |
| 527 | + | |
| 528 | + | |
500 | 529 | | |
501 | 530 | | |
502 | 531 | | |
| |||
508 | 537 | | |
509 | 538 | | |
510 | 539 | | |
511 | | - | |
| 540 | + | |
512 | 541 | | |
513 | 542 | | |
514 | 543 | | |
| |||
522 | 551 | | |
523 | 552 | | |
524 | 553 | | |
525 | | - | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
526 | 572 | | |
527 | | - | |
| 573 | + | |
528 | 574 | | |
529 | 575 | | |
530 | 576 | | |
531 | | - | |
| 577 | + | |
532 | 578 | | |
533 | 579 | | |
534 | 580 | | |
| |||
537 | 583 | | |
538 | 584 | | |
539 | 585 | | |
540 | | - | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
541 | 590 | | |
542 | 591 | | |
543 | 592 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
947 | 947 | | |
948 | 948 | | |
949 | 949 | | |
950 | | - | |
| 950 | + | |
951 | 951 | | |
952 | 952 | | |
953 | 953 | | |
| |||
1315 | 1315 | | |
1316 | 1316 | | |
1317 | 1317 | | |
1318 | | - | |
1319 | 1318 | | |
1320 | 1319 | | |
1321 | 1320 | | |
1322 | | - | |
1323 | | - | |
1324 | | - | |
1325 | | - | |
1326 | | - | |
1327 | | - | |
1328 | | - | |
1329 | | - | |
1330 | | - | |
1331 | | - | |
1332 | | - | |
1333 | | - | |
1334 | | - | |
1335 | | - | |
1336 | | - | |
1337 | | - | |
1338 | | - | |
1339 | | - | |
1340 | | - | |
1341 | | - | |
1342 | | - | |
1343 | | - | |
| 1321 | + | |
| 1322 | + | |
| 1323 | + | |
| 1324 | + | |
| 1325 | + | |
1344 | 1326 | | |
1345 | 1327 | | |
1346 | 1328 | | |
| |||
0 commit comments