mikebridge opened a new pull request, #41943: URL: https://github.com/apache/superset/pull/41943
> ⛔ **Depends on #41940 — do not merge first.** This branch is stacked on the transaction-finalization redesign in #41940. Until #41940 merges and this branch is rebased onto `master`, the diff includes both commits. ### SUMMARY Makes optional `version_transaction.action_kind` persistence genuinely fail-open. Action kinds such as `restore`, `import`, and `clone` are descriptive metadata. A failed PostgreSQL UPDATE must not poison the transaction containing the actual entity save. This change wraps the metadata UPDATE in a SAVEPOINT during commit finalization, after Continuum has produced its canonical transaction and shadow rows. On failure, only the optional action classification is rolled back. The entity save, canonical history, and semantic change records continue to commit. The action intent is consumed exactly once and cannot leak into a later transaction on a reused session. Tracked by [sc-112938](https://app.shortcut.com/preset/story/112938). ### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF Not applicable; backend transaction-safety fix. ### TESTING INSTRUCTIONS Run the focused PostgreSQL failure case: docker compose -f docker-compose-light.yml --profile test run --rm pytest-runner pytest -q tests/integration_tests/versioning/transaction_correctness_tests.py -k action_kind Run unit coverage: docker compose -f docker-compose-light.yml --profile test run --rm pytest-runner pytest -q tests/unit_tests/versioning/test_listener.py tests/unit_tests/versioning/test_diff_caps.py Run the complete versioning regression set: docker compose -f docker-compose-light.yml --profile test run --rm pytest-runner pytest -q tests/integration_tests/versioning/transaction_correctness_tests.py tests/integration_tests/versioning/capture_disabled_tests.py tests/integration_tests/versioning/snapshot_projection_tests.py tests/integration_tests/versioning/versions_api_tests.py Observed locally: 15 unit tests and 23 PostgreSQL integration/regression tests passed. Focused mypy and Ruff checks passed. ### ADDITIONAL INFORMATION - [x] Has associated issue: Shortcut sc-112938 - [x] Required feature flags: ENABLE_VERSIONING_CAPTURE - [ ] Changes UI - [ ] Includes DB Migration (follow approval process in [SIP-59](https://github.com/apache/superset/issues/13351)) - [ ] Migration is atomic, supports rollback & is backwards-compatible - [ ] Confirm DB migration upgrade and downgrade tested - [ ] Runtime estimates and downtime expectations provided - [ ] Introduces new feature or API - [ ] Removes existing feature or API -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
