How to reproduce:
create some node (say node/5) with "test-node" url alias
create a link from other node in the form href="node/5", rendered output of the node shows the link as "http://example.com/test-node" - nice!
change "node/5"'s alias to say "test-node-changed"
go back to the second node and see the link still shows "http://example.com/test-node" (and now it lead to nowhere!)

Expected behavior: the rendered link in the second node changes to "http://example.com/test-node-changed"

So, the output was cached. To reset it I had to reset the drupal data cache.

Is it possible to workaround that?

Comments

This is pretty much the same issue as #516294: Can pathologic alter img src paths to be HTTPS if the page is served out HTTPS?.

There's not really a practical way to check if a node whose path is changing has been linked to by other nodes (there's a module which tracks that, actually, though I can't recall what it's called and we can't count on it being installed). I suppose it's possible to add a handler to node editing forms and the path editing form in the menu system and flush the cache when a path is changed, though it seems like overkill…

Hmm.

Just found the same issue was discussed in Path Filter too: http://drupal.org/node/80681 (it's still not fixed in Path Filter though).
They came to a conclusion that bringing the url filtering functionality out of the scope of drupal's cache system will solve the problem (although that means not using drupal's filter system too).

Maybe the best fix would be to add to each filter a setting telling whether this filter's output is cacheable or not (but it goes to drupal's core).

Version:6.x-2.0-beta19» 6.x-3.x-dev
Status:Active» Fixed

Status:Fixed» Closed (fixed)

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