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]

Reply via email to