WSE Menu can't handle large menu trees

Created on 10 September 2024, 11 months ago
Updated 18 September 2024, 11 months ago

WSE Menu was initially designed for menu trees with hundreds of items in mind, and it worked by keeping and manipulating a workspace-specific copy of the menu_tree table in memory.

However, this approach doesn't work for menu trees with thousand of menu items, so we need to rewrite it.. again. The new architecture creates workspace-specific copies of the menu_tree table in the database, and adds the ability to "replay" custom menu link changes from a workspace on that table.

The main advantage of this rewrite is that we're now reusing core's menu tree storage service mostly as-is, and just swap the table name on which operations are performed based on the active workspace.

🐛 Bug report
Status

Fixed

Version

2.0

Component

Workspace Menu

Created by

🇷🇴Romania amateescu

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

Merge Requests

Comments & Activities

  • Issue created by @amateescu
  • Merge request !64Rewrite the workspace-specific tree storage. → (Closed) created by amateescu
  • Pipeline finished with Success
    11 months ago
    Total: 702s
    #279822
  • Pipeline finished with Canceled
    11 months ago
    #280207
  • Pipeline finished with Success
    11 months ago
    Total: 485s
    #280218
  • Pipeline finished with Success
    11 months ago
    Total: 520s
    #280265
  • Pipeline finished with Success
    11 months ago
    #280331
  • Pipeline finished with Success
    11 months ago
    Total: 553s
    #280371
  • Merge request !65Rewrite the WSE menu tree storage. → (Merged) created by amateescu
  • Pipeline finished with Success
    11 months ago
    Total: 335s
    #280574
  • Status changed to Needs review 11 months ago
  • 🇷🇴Romania amateescu

    IS update.

  • Pipeline finished with Success
    11 months ago
    Total: 478s
    #280581
  • Status changed to Fixed 11 months ago
  • 🇷🇴Romania amateescu

    Merged into 2.0.x and cherry-picked to 1.0.x.

  • Pipeline finished with Success
    11 months ago
    Total: 480s
    #280927
  • Pipeline finished with Success
    11 months ago
    Total: 584s
    #281416
  • Pipeline finished with Success
    11 months ago
    Total: 621s
    #284228
  • Pipeline finished with Success
    11 months ago
    Total: 469s
    #285540
  • Pipeline finished with Skipped
    11 months ago
    #285558
  • 🇷🇴Romania amateescu

    Found a few problem with this wse_menu rewrite, here's the first followup: 📌 Add Drush commands to help visualize and diff menu tree changes in a workspace Fixed

  • 🇷🇴Romania amateescu

    Second and hopefully last followup is here: 🐛 Ensure that menu items are re-parented correctly in all situations Fixed

  • Pipeline finished with Success
    11 months ago
    Total: 508s
    #286933
  • Pipeline finished with Success
    11 months ago
    Total: 469s
    #287351
  • Automatically closed - issue fixed for 2 weeks with no activity.

  • Pipeline finished with Success
    10 months ago
    Total: 308s
    #301637
  • Pipeline finished with Success
    10 months ago
    Total: 419s
    #302304
  • Pipeline finished with Success
    10 months ago
    Total: 313s
    #302314
  • Pipeline finished with Failed
    10 months ago
    Total: 276s
    #303209
  • Pipeline finished with Failed
    10 months ago
    Total: 275s
    #306429
  • Pipeline finished with Failed
    10 months ago
    Total: 987s
    #306763
  • Pipeline finished with Failed
    10 months ago
    Total: 330s
    #306788
  • Pipeline finished with Failed
    10 months ago
    Total: 408s
    #307429
  • Pipeline finished with Success
    10 months ago
    Total: 218s
    #309060
  • Pipeline finished with Success
    10 months ago
    Total: 220s
    #309101
  • Pipeline finished with Success
    10 months ago
    Total: 233s
    #309295
  • Pipeline finished with Success
    10 months ago
    Total: 222s
    #309353
  • Pipeline finished with Canceled
    10 months ago
    Total: 216s
    #310978
  • Pipeline finished with Success
    10 months ago
    Total: 296s
    #310981
  • Pipeline finished with Success
    10 months ago
    Total: 365s
    #310984
  • Pipeline finished with Success
    10 months ago
    Total: 316s
    #311047
  • Pipeline finished with Success
    10 months ago
    Total: 216s
    #312302
  • Pipeline finished with Success
    10 months ago
    Total: 242s
    #312978
  • Pipeline finished with Failed
    10 months ago
    Total: 45s
    #320876
  • Pipeline finished with Failed
    10 months ago
    Total: 56s
    #320894
  • Pipeline finished with Failed
    9 months ago
    Total: 249s
    #326385
  • Pipeline finished with Failed
    9 months ago
    Total: 417s
    #326389
  • Pipeline finished with Failed
    9 months ago
    Total: 319s
    #326584
  • Pipeline finished with Failed
    9 months ago
    Total: 45s
    #327503
  • Pipeline finished with Canceled
    9 months ago
    Total: 332s
    #327555
  • Pipeline finished with Success
    9 months ago
    Total: 2062s
    #327558
  • Pipeline finished with Failed
    9 months ago
    Total: 248s
    #331925
  • Pipeline finished with Success
    9 months ago
    Total: 212s
    #331945
  • Pipeline finished with Success
    9 months ago
    Total: 216s
    #332081
  • Pipeline finished with Success
    9 months ago
    Total: 608s
    #332456
  • Pipeline finished with Success
    9 months ago
    Total: 386s
    #332458
  • Pipeline finished with Success
    9 months ago
    Total: 372s
    #339231
  • Pipeline finished with Skipped
    9 months ago
    #339242
  • Pipeline finished with Failed
    9 months ago
    Total: 171s
    #340659
  • Pipeline finished with Success
    8 months ago
    Total: 1727s
    #365715
  • Pipeline finished with Success
    8 months ago
    Total: 145s
    #374986
  • Pipeline finished with Success
    8 months ago
    Total: 147s
    #374989
  • Pipeline finished with Success
    8 months ago
    Total: 149s
    #375422
  • Pipeline finished with Success
    8 months ago
    Total: 149s
    #376656
  • Pipeline finished with Success
    8 months ago
    Total: 300s
    #376908
  • Pipeline finished with Success
    8 months ago
    Total: 145s
    #376911
  • Pipeline finished with Success
    8 months ago
    Total: 157s
    #377160
  • Pipeline finished with Success
    8 months ago
    Total: 250s
    #377168
  • Pipeline finished with Success
    8 months ago
    Total: 156s
    #377746
  • Pipeline finished with Success
    7 months ago
    Total: 146s
    #380047
  • Pipeline finished with Success
    7 months ago
    Total: 173s
    #380094
  • Pipeline finished with Success
    7 months ago
    Total: 220s
    #384581
  • Pipeline finished with Success
    7 months ago
    Total: 187s
    #384591
  • Pipeline finished with Success
    7 months ago
    Total: 144s
    #387064
  • Pipeline finished with Success
    7 months ago
    Total: 147s
    #387082
  • Pipeline finished with Success
    7 months ago
    Total: 168s
    #387101
  • Pipeline finished with Success
    7 months ago
    Total: 149s
    #387131
  • Pipeline finished with Success
    7 months ago
    Total: 171s
    #387154
  • Pipeline finished with Success
    7 months ago
    Total: 158s
    #387182
  • Pipeline finished with Failed
    7 months ago
    Total: 163s
    #389679
  • Pipeline finished with Failed
    7 months ago
    Total: 167s
    #389684
  • Pipeline finished with Success
    7 months ago
    Total: 154s
    #389713
  • Pipeline finished with Success
    7 months ago
    Total: 151s
    #389720
  • Pipeline finished with Failed
    7 months ago
    Total: 164s
    #390535
  • Pipeline finished with Success
    7 months ago
    Total: 180s
    #390540
  • Pipeline finished with Success
    7 months ago
    Total: 180s
    #390542
  • Pipeline finished with Canceled
    7 months ago
    Total: 81s
    #391042
  • Pipeline finished with Success
    7 months ago
    Total: 148s
    #391043
  • Pipeline finished with Success
    7 months ago
    Total: 165s
    #391054
  • Pipeline finished with Failed
    7 months ago
    Total: 149s
    #396758
  • Pipeline finished with Failed
    7 months ago
    Total: 150s
    #396842
  • Pipeline finished with Success
    7 months ago
    Total: 139s
    #405707
  • Pipeline finished with Success
    6 months ago
    Total: 221s
    #413933
  • Pipeline finished with Success
    6 months ago
    Total: 269s
    #413939
  • Pipeline finished with Success
    6 months ago
    Total: 186s
    #413943
  • Pipeline finished with Failed
    6 months ago
    Total: 140s
    #416237
  • Pipeline finished with Failed
    6 months ago
    Total: 140s
    #417156
  • Pipeline finished with Failed
    6 months ago
    Total: 261s
    #417162
  • Pipeline finished with Failed
    6 months ago
    Total: 156s
    #417174
  • Pipeline finished with Failed
    6 months ago
    Total: 142s
    #417177
  • Pipeline finished with Failed
    6 months ago
    Total: 214s
    #417190
  • Pipeline finished with Failed
    6 months ago
    #417197
  • Pipeline finished with Failed
    6 months ago
    Total: 171s
    #417200
  • Pipeline finished with Failed
    6 months ago
    Total: 141s
    #417213
  • Pipeline finished with Failed
    6 months ago
    Total: 235s
    #417219
  • Pipeline finished with Failed
    6 months ago
    Total: 138s
    #417229
  • Pipeline finished with Failed
    6 months ago
    Total: 170s
    #417268
  • Pipeline finished with Success
    6 months ago
    Total: 246s
    #423522
  • Pipeline finished with Success
    6 months ago
    #425591
  • Pipeline finished with Success
    6 months ago
    Total: 234s
    #425607
Production build 0.71.5 2024