On a site that has been running for a long time we have 502 redirects and when we have the option in the Expire Module set to expire the menu family or the entire menu it usually returns about 78 menu item paths. When these paths are passed to the expire_cache_derivative function we get back a huge list of URLs each time the function is called which end up totaling over 10,000 URLS many of which are the same. This happens after the step where the Expire Module accesses the redirect module functions.

Not having enough working knowledge of the Expire Module or the Redirect Module I am thinking this is related to the redirect module which allows you to create redirect loops.

To create a redirect loop:

  1. Create a node a URL is assigned to that node base on the node title.
  2. Next change the title of that node to something new.
  3. Edit the node again changing title back to the original title which should also assign it back to the original URL.
  4. Now you have a node with a Redirect loop, fun.

Stupid as the situation is since the Redirect Module should just delete the conflict it does not even though it provide a message stating that the loop is present. At this time this seems to the source of huge URL expire list which is generated.

Comments

Spleshka’s picture

Version: 7.x-2.0-beta1 » 7.x-1.x-dev

I think that problem occurs in the 7.x-1.x branch, because 7.x-2.x does not have expire_cache_derivative () function. So change issue version.

1point21’s picture

Thanks for changing that, I must have scrolled after I selected the version and changed the option. Do you want me to test against the 2.x branch and let you know if the issue still exists in our installation?

Spleshka’s picture

I'm not sure that 2.x branch supports node menu items flush. But if you provide a patch for this implementation, i'd love to apply it!

I think that you can checkout 2.x branch, because it has a lot of implovements! Maybe you will find a decision for your task.

IRuslan’s picture

Issue summary: View changes

Btw, i don't see integration with Redirect module at all in 2-x branch.
Is it correct?

Spleshka’s picture

Yes, you are right. Did you expirience any problems with Redirect module and 7.x-2.x branch of Expire?

IRuslan’s picture

No, i have no problems. But in other hand it means that redirects of our URL will not be expired.
I'm trying to understand initial reason why we had it in 1-x then?

Spleshka’s picture

To be honest, I have no idea why we had it there. I started the development from new 7.x-2.x.

ttkaminski’s picture

FYI, I posted a patch for integration with the redirect module for 7.x-2.x. See: #2412565: Redirect expire submodule