The current implementation of the path alias system in D7 uses a prefix whitelist to avoid queries when the path first component is in the whitelist.

The list is correctly updated when a new alias is created, but not when it is deleted. As a consequence, the whitelist contains invalid entries, which causes extra requests in some situations.

Steps to reproduce:

  1. fresh D7 install
  2. add a "foo" alias for the "node" system path
  3. drush vget path_alias_whitelist : ['node']. This is correct.
  4. delete the "foo" alias
  5. drush vget path_alias_whitelist : ['node']. This is no longer correct, it should be [].

This will need to be revisited when/if #1209226: Avoid slow query for path alias whitelists is committed.

Comments

fgm’s picture

Title: Path alias whitelist no rebuild on alias deletion » Path alias whitelist not rebuilt on alias deletion