Loading...

All project content is available for reading, but you need to be a member of the project for Subversion checkout of source code, or to create/modify any information.
Login if you are a member. Apply here to request membership (open to all).

Ticket #305 (new question)

Opened 6 years ago

Last modified 4 years ago

Clean-up job issue in load balanced environment with shared VPP

Reported by: orjanh@… Owned by: alexander@…
Priority: major Component: EPiImage
Keywords: epiimage, load balancing, cachemanager Cc:

Description

I am wondering is there is any known issues regarding EPiImage on a load balanced CMS6 environment?
The reason I'm asking is that we experienced an issue recently with one of our two production servers where only one showing the scaled images, and the other one showed incorrect image links (missing/404). A manual IIS recycle on fixed the problem, but obviously this may/will happen again.

Does EPiImage make use of EPiServers built-in Cache Manager? If so, I guess the syncronization between the servers should have been taken care of correctly.

Versions:
CMS6 (R1)
EPiImage 2.9.0

Change History

comment:1 Changed 6 years ago by orjanh@…

A little bit more info:
When looking in MakingWaves.EPiImage.Jobs it looks like HttpRuntime.Cache.Remove() is called to update the cache. This should work fine when the server doesn't share VPP with other servers. My theory is that this doesn't necessarily ensure that all servers will update their cache when running in a load balanced environment.
In my scenario we use a shared file server containing the VPP-path (including the /global/scaled/). So when one of the two production servers run the cleanup job, the other server doesn't get notified that the cached images are removed. The images are then displayed as dead links on the server with the older cache.

As suggested in my initial post, I believe using EPiServers CacheManager instead of HttpRuntime.Cache may solve this issue.

Last edited 6 years ago by orjanh@… (previous) (diff)

comment:2 Changed 6 years ago by orjanh@…

  • Summary changed from Issue with load balancing and scaled images cleanup? to Clean-up job issue in load balanced environment with shared VPP

comment:3 Changed 5 years ago by notffirk@…

Seems that the same issue cases double file generation - when the second/third/n-th frontend seeks for the resized image - it will regenerate it even it was generated already by another frontend.
And i believe there should be smth like lock, to prevent concurrency exceptions if 2+ frontends trying to create one resized image at the same time

comment:4 Changed 5 years ago by j.tveitan@…

Is there any news on this ticket?.

The reason I'm asking is because we are using EPiImage in a load balanced environment and have serious problems with images getting not getting removed from cache even when we run cleanups on both servers.

It seems probable that since we are using a shared VPP and EPiImage is using HttpRuntime.Cache and not EPi CacheManager it runs into problem when the cache isn't invalidated across servers.

Any news would be great.

comment:5 Changed 4 years ago by par.lannero@…

Hi all!

Any news on this issue?

I have a very similar problem, but without sharing the VPP.
Scaled images are removed by the scheduled cleanup job, but it seems EPiServer is not notified, so the rendered img src point to nothing and cause broken image links (404).

Note: See HelpUser/Tickets for help on using tickets.