On every entity check, "checkTree" is getting the schema menu tree. This is causing a huge overhead (and timeouts) if there are several menus with thousands of nodes on each one (my situation: 4 menus with +1000 nodes).

IMHO, the menu tree must be cached in some way.

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

rutiolma created an issue. See original summary.

rutiolma’s picture

Something like this will work

rutiolma’s picture

Status: Active » Needs review
agentrickard’s picture

Category: Bug report » Task

Not a bug.

agentrickard’s picture

BTW: I've always assumed that tree caching happens at the core level, and I've never liked using Menu for access control because of this very overhead.

agentrickard’s picture

Status: Needs review » Needs work

You cannot put menu-specific handling code in the WorkbenchAccessManager. That is a base class that handles plugin implementations.

I agree with the need for caching, but this needs to be abstracted for use with all Plugin types.

agentrickard’s picture

This also needs means and tests for cache invalidation.

agentrickard’s picture

Status: Needs work » Needs review
FileSize
1.5 KB

New patch. Running tests now.

agentrickard’s picture

  • agentrickard committed 0629db9 on 8.x-1.x
    Issue #2965924 by agentrickard, rutiolma: Menu tree is generated for...
agentrickard’s picture

Status: Needs review » Fixed

Committed.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.