[PP-1] Convert all transactions to explicit COMMIT

Created on 8 December 2023, over 1 year ago
Updated 5 January 2024, over 1 year ago

Problem/Motivation

Follow up of ✨ Allow explicit COMMIT in Transaction objects Active .

In the parent issue we introduced the possibility to explicitly commit Transaction objects.

In this issue we convert all Drupal core transactions to use explicit commit and deprecate implicit commit on Transaction destruction.

Steps to reproduce

Proposed resolution

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet

📌 Task
Status

Postponed

Version

11.0 🔥

Component
Database  →

Last updated 4 days ago

  • Maintained by
  • 🇳🇱Netherlands @daffie
Created by

🇮🇹Italy mondrake 🇮🇹

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Merge Requests

Comments & Activities

  • Issue created by @mondrake
  • Pipeline finished with Failed
    over 1 year ago
    Total: 629s
    #60987
  • Pipeline finished with Success
    over 1 year ago
    Total: 659s
    #61008
  • Pipeline finished with Failed
    over 1 year ago
    Total: 1009s
    #61024
  • Pipeline finished with Failed
    over 1 year ago
    Total: 677s
    #61082
  • Pipeline finished with Failed
    over 1 year ago
    Total: 674s
    #61668
  • Pipeline finished with Failed
    over 1 year ago
    Total: 722s
    #61683
  • 🇮🇹Italy mondrake 🇮🇹

    mondrake → changed the visibility of the branch 3406985-pp-1-convert-all to hidden.

  • 🇮🇹Italy mondrake 🇮🇹

    mondrake → changed the visibility of the branch 3406985-pp-1-convert-all to active.

  • Pipeline finished with Failed
    over 1 year ago
    Total: 586s
    #72273
  • 🇮🇹Italy mondrake 🇮🇹
  • Pipeline finished with Failed
    6 months ago
    Total: 140s
    #372700
  • Pipeline finished with Failed
    6 months ago
    Total: 1126s
    #372854
  • Pipeline finished with Failed
    6 months ago
    Total: 1105s
    #372871
  • Pipeline finished with Failed
    6 months ago
    Total: 212s
    #374118
  • Pipeline finished with Failed
    6 months ago
    Total: 1206s
    #374124
  • Pipeline finished with Failed
    6 months ago
    Total: 212s
    #375384
  • Pipeline finished with Failed
    6 months ago
    Total: 672s
    #375387
  • Pipeline finished with Failed
    6 months ago
    Total: 1961s
    #375402
  • 🇮🇹Italy mondrake 🇮🇹
  • 🇮🇹Italy mondrake 🇮🇹

    mondrake → changed the visibility of the branch 3406985-pp-1-convert-all to hidden.

  • 🇮🇹Italy mondrake 🇮🇹

    mondrake → changed the visibility of the branch 3406985-pp-1-convert-all to active.

  • 🇮🇹Italy mondrake 🇮🇹

    mondrake → changed the visibility of the branch 3406985-pp-1-convert-all to hidden.

  • Pipeline finished with Failed
    2 months ago
    #465866
  • 🇮🇹Italy mondrake 🇮🇹

    mondrake → changed the visibility of the branch 3406985-pp-1-convert-all to active.

  • Pipeline finished with Failed
    about 2 months ago
    Total: 857s
    #469556
  • Pipeline finished with Failed
    about 2 months ago
    Total: 521s
    #469567
  • Pipeline finished with Failed
    about 2 months ago
    #469584
  • Pipeline finished with Failed
    about 2 months ago
    Total: 664s
    #470075
  • Pipeline finished with Success
    about 2 months ago
    Total: 5200s
    #470102
  • Pipeline finished with Failed
    about 2 months ago
    Total: 528s
    #481193
  • Pipeline finished with Failed
    about 2 months ago
    Total: 4597s
    #481256
  • Pipeline finished with Failed
    about 2 months ago
    Total: 677s
    #481325
  • Pipeline finished with Success
    about 2 months ago
    Total: 486s
    #481348
  • 🇮🇹Italy mondrake 🇮🇹
  • 🇺🇸United States nicxvan

    It would be helpful to have a small summary on the why in the issue summary

  • 🇮🇹Italy mondrake 🇮🇹

    Blocker is in, tagging per #12.

  • Pipeline finished with Failed
    25 days ago
    Total: 140s
    #497071
  • Pipeline finished with Success
    25 days ago
    Total: 2170s
    #497108
  • 🇮🇹Italy mondrake 🇮🇹

    Updated IS.

  • Pipeline finished with Success
    25 days ago
    Total: 1323s
    #497396
  • 🇮🇹Italy mondrake 🇮🇹
  • Pipeline finished with Failed
    24 days ago
    Total: 3465s
    #498300
  • Pipeline finished with Failed
    24 days ago
    Total: 373s
    #498471
  • Pipeline finished with Success
    23 days ago
    Total: 1303s
    #499162
  • Pipeline finished with Failed
    23 days ago
    Total: 104s
    #499206
  • 🇮🇹Italy mondrake 🇮🇹

    made suggested changes, thanks @alexpott

  • Pipeline finished with Success
    23 days ago
    Total: 2417s
    #499214
  • 🇮🇹Italy mondrake 🇮🇹

    Added specific deprecation tests for the implicit commit behavior and for ::commitAll() when there are pending transactions open.

  • Pipeline finished with Failed
    22 days ago
    Total: 214s
    #499569
  • Pipeline finished with Success
    22 days ago
    #499582
  • 🇺🇸United States smustgrave

    Feedback appears to be addressed but CR is still tbd

  • 🇮🇹Italy mondrake 🇮🇹

    Fleshed the CR

  • 🇮🇹Italy mondrake 🇮🇹

    Per https://drupal.slack.com/archives/C1BMUQ9U6/p1747310372256759?thread_ts=..., the MR could use some manual testing to check that with xdebug 3.3+ enabled we do not get any longer failures related to the unpredictable object destruction sequence.

  • Pipeline finished with Success
    13 days ago
    Total: 600s
    #506934
  • 🇮🇹Italy mondrake 🇮🇹

    Addressed review comments.

  • Pipeline finished with Failed
    4 days ago
    Total: 1399s
    #514561
  • 🇺🇸United States mradcliffe USA

    Current test failures are deprecations for

    1) /builds/issue/drupal-3406985/core/lib/Drupal/Core/Test/HttpClientMiddleware/TestHttpClientMiddleware.php:52
    Database commit by letting a Transaction object go out of scope is deprecated in drupal:11.3.0 and is removed from drupal:13.0.0. Commit explicitly via Transaction::commitOrRelease() instead. See https://www.drupal.org/node/3524461 →

    1) /builds/issue/drupal-3406985/core/lib/Drupal/Core/Database/Transaction/TransactionManagerBase.php:364
    Database commit by letting a Transaction object go out of scope is deprecated in drupal:11.3.0 and is removed from drupal:13.0.0. Commit explicitly via Transaction::commitOrRelease() instead. See https://www.drupal.org/node/3524461 →

    Uploaded as a text file after parsing through Functional and FunctionalJavaScript test results. Summarized as

    - locale
    - config_translation
    - AssetOptimizationUmamiTest
    - help
    - demo_umami
    - core Installer tests

  • 🇮🇹Italy mondrake 🇮🇹

    Some recent commits may have added deprecated behaviour. Needs sorting out which. On that.

  • Pipeline finished with Failed
    4 days ago
    Total: 477s
    #514632
  • Pipeline finished with Failed
    4 days ago
    Total: 585s
    #514639
  • 🇮🇹Italy mondrake 🇮🇹

    Culprit was 📌 Use a transaction PoDatabaseWriter to improve performance Active . But that helped proving that implicit commit deprecation works.

  • Pipeline finished with Success
    4 days ago
    Total: 731s
    #514642
  • 🇺🇸United States mradcliffe USA

    I added some manual testing scenarios for xdebug 3.3+ in develop mode.

Production build 0.71.5 2024