WSE Menu can't handle large menu trees

Created on 10 September 2024, 7 months ago
Updated 18 September 2024, 7 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
    7 months ago
    Total: 702s
    #279822
  • Pipeline finished with Success
    7 months ago
    Total: 520s
    #280265
  • Pipeline finished with Success
    7 months ago
    #280331
  • Pipeline finished with Failed
    7 months ago
    Total: 93868s
    #279339
  • Pipeline finished with Success
    7 months ago
    Total: 553s
    #280371
  • Merge request !65Rewrite the WSE menu tree storage. → (Merged) created by amateescu
  • Status changed to Needs review 7 months ago
  • 🇷🇴Romania amateescu

    IS update.

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

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

  • Pipeline finished with Success
    7 months ago
    Total: 480s
    #280927
  • Pipeline finished with Success
    7 months ago
    Total: 289s
    #283626
  • Pipeline finished with Success
    7 months ago
    Total: 621s
    #284228
  • Pipeline finished with Success
    7 months ago
    Total: 473s
    #285535
  • Pipeline finished with Success
    7 months ago
    Total: 469s
    #285540
  • 🇷🇴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
    7 months ago
    Total: 508s
    #286933
  • Pipeline finished with Success
    7 months ago
    Total: 469s
    #287351
  • Pipeline finished with Success
    6 months ago
    Total: 455s
    #293990
  • Automatically closed - issue fixed for 2 weeks with no activity.

  • Pipeline finished with Success
    6 months ago
    Total: 419s
    #302304
  • Pipeline finished with Success
    6 months ago
    Total: 313s
    #302314
  • Pipeline finished with Failed
    6 months ago
    Total: 276s
    #303209
  • Pipeline finished with Failed
    6 months ago
    Total: 275s
    #306429
  • Pipeline finished with Failed
    6 months ago
    Total: 987s
    #306763
  • Pipeline finished with Failed
    6 months ago
    Total: 330s
    #306788
  • Pipeline finished with Failed
    6 months ago
    Total: 408s
    #307429
  • Pipeline finished with Skipped
    6 months ago
    #307444
  • Pipeline finished with Success
    6 months ago
    Total: 218s
    #309060
  • Pipeline finished with Success
    6 months ago
    Total: 220s
    #309101
  • Pipeline finished with Success
    6 months ago
    Total: 212s
    #309111
  • Pipeline finished with Success
    6 months ago
    Total: 233s
    #309295
  • Pipeline finished with Success
    6 months ago
    Total: 236s
    #309344
  • Pipeline finished with Success
    6 months ago
    Total: 222s
    #309353
  • Pipeline finished with Failed
    6 months ago
    Total: 247s
    #310967
  • Pipeline finished with Canceled
    6 months ago
    Total: 216s
    #310978
  • Pipeline finished with Success
    6 months ago
    Total: 365s
    #310984
  • Pipeline finished with Failed
    5 months ago
    Total: 45s
    #320876
  • Pipeline finished with Failed
    5 months ago
    Total: 56s
    #320894
  • Pipeline finished with Failed
    5 months ago
    Total: 417s
    #326389
  • Pipeline finished with Failed
    5 months ago
    Total: 325s
    #326399
  • Pipeline finished with Failed
    5 months ago
    Total: 328s
    #326406
  • Pipeline finished with Failed
    5 months ago
    Total: 319s
    #326584
  • Pipeline finished with Failed
    5 months ago
    Total: 45s
    #327503
  • Pipeline finished with Failed
    5 months ago
    Total: 47s
    #327511
  • Pipeline finished with Canceled
    5 months ago
    Total: 332s
    #327555
  • Pipeline finished with Success
    5 months ago
    Total: 2062s
    #327558
  • Pipeline finished with Failed
    5 months ago
    Total: 248s
    #331925
  • Pipeline finished with Success
    5 months ago
    Total: 212s
    #331945
  • Pipeline finished with Success
    5 months ago
    Total: 216s
    #332081
  • Pipeline finished with Success
    5 months ago
    Total: 386s
    #332458
  • Pipeline finished with Skipped
    5 months ago
    #339242
  • Pipeline finished with Failed
    5 months ago
    Total: 162s
    #340067
  • Pipeline finished with Failed
    5 months ago
    Total: 171s
    #340659
  • Pipeline finished with Success
    4 months ago
    Total: 1727s
    #365715
  • Pipeline finished with Success
    4 months ago
    Total: 145s
    #374986
  • Pipeline finished with Success
    4 months ago
    Total: 147s
    #374989
  • Pipeline finished with Success
    4 months ago
    Total: 149s
    #375422
  • Pipeline finished with Success
    4 months ago
    Total: 141s
    #376655
  • Pipeline finished with Success
    4 months ago
    Total: 149s
    #376656
  • Pipeline finished with Success
    4 months ago
    Total: 300s
    #376908
  • Pipeline finished with Success
    4 months ago
    Total: 145s
    #376911
  • Pipeline finished with Success
    4 months ago
    Total: 157s
    #377160
  • Pipeline finished with Success
    4 months ago
    Total: 250s
    #377168
  • Pipeline finished with Success
    3 months ago
    Total: 156s
    #377746
  • Pipeline finished with Success
    3 months ago
    Total: 146s
    #380047
  • Pipeline finished with Success
    3 months ago
    Total: 173s
    #380094
  • Pipeline finished with Success
    3 months ago
    Total: 356s
    #380119
  • Pipeline finished with Success
    3 months ago
    Total: 204s
    #380135
  • Pipeline finished with Success
    3 months ago
    Total: 179s
    #380138
  • Pipeline finished with Success
    3 months ago
    Total: 220s
    #384581
  • Pipeline finished with Success
    3 months ago
    Total: 187s
    #384591
  • Pipeline finished with Success
    3 months ago
    Total: 149s
    #387131
  • Pipeline finished with Success
    3 months ago
    Total: 171s
    #387154
  • Pipeline finished with Success
    3 months ago
    Total: 157s
    #387170
  • Pipeline finished with Failed
    3 months ago
    Total: 163s
    #389679
  • Pipeline finished with Failed
    3 months ago
    Total: 167s
    #389684
  • Pipeline finished with Success
    3 months ago
    Total: 154s
    #389713
  • Pipeline finished with Success
    3 months ago
    Total: 151s
    #389720
  • Pipeline finished with Success
    3 months ago
    Total: 151s
    #389733
  • Pipeline finished with Success
    3 months ago
    Total: 180s
    #390540
  • Pipeline finished with Success
    3 months ago
    Total: 180s
    #390542
  • Pipeline finished with Canceled
    3 months ago
    Total: 81s
    #391042
  • Pipeline finished with Success
    3 months ago
    Total: 148s
    #391043
  • Pipeline finished with Success
    3 months ago
    Total: 149s
    #391050
  • Pipeline finished with Failed
    3 months ago
    Total: 150s
    #396842
  • Pipeline finished with Success
    2 months ago
    Total: 139s
    #405707
  • Pipeline finished with Success
    2 months ago
    Total: 221s
    #413933
  • Pipeline finished with Success
    2 months ago
    Total: 269s
    #413939
  • Pipeline finished with Success
    2 months ago
    Total: 186s
    #413943
  • Pipeline finished with Failed
    2 months ago
    Total: 140s
    #416237
  • Pipeline finished with Failed
    about 2 months ago
    Total: 140s
    #417156
  • Pipeline finished with Failed
    about 2 months ago
    Total: 186s
    #417168
  • Pipeline finished with Failed
    about 2 months ago
    Total: 156s
    #417174
  • Pipeline finished with Failed
    about 2 months ago
    Total: 214s
    #417190
  • Pipeline finished with Failed
    about 2 months ago
    #417197
  • Pipeline finished with Failed
    about 2 months ago
    Total: 158s
    #417205
  • Pipeline finished with Failed
    about 2 months ago
    Total: 235s
    #417219
  • Pipeline finished with Failed
    about 2 months ago
    Total: 269s
    #417234
  • Pipeline finished with Failed
    about 2 months ago
    Total: 165s
    #417260
  • Pipeline finished with Failed
    about 2 months ago
    Total: 164s
    #417263
  • Pipeline finished with Failed
    about 2 months ago
    Total: 170s
    #417268
  • Pipeline finished with Success
    about 2 months ago
    Total: 246s
    #423522
  • Pipeline finished with Success
    about 2 months ago
    #425591
  • Pipeline finished with Success
    about 2 months ago
    Total: 234s
    #425607
  • Pipeline finished with Skipped
    about 2 months ago
    #429523
Production build 0.71.5 2024