Search code examples
cachingpropertiesliferay-6production-environment

Any negative side effects to disabling caching in a Liferay production environment?


Our production Liferay instance absolutely refuses to deploy my latest theme. Something is preventing it from displaying my latest CSS changes. Unfortunately, there are NO log errors and no Firebug Console errors, so it's been a real headache to diagnose. I just get a really ugly plain page with links and no styles applied. I have tried everything I can think of to fix this.

  • Undeploy/redeploy theme
  • restart the Glassfish container
  • use Liferay Server Administration page to "Clear content cached across this JVM", "Clear database cache", "Verify Database plugins", etc.
  • undeploy, restart, redeploy
  • undeploy, delete leftover files/folders pertaining to the theme in 'applications' folder, restart container, redeploy
  • clear my browser cache
  • try a different browser
  • many more combinations of the above. You get the idea.

Last night I reached the boiling point because my theme deployed and displayed in our test environments without issue, but didn't work in production. The only thing that was different is that I wasn't using

include-and-override=portal-developer.properties

in my portal-ext.properties file. I took a gamble and added this line to my production portal-ext.properties and restarted the production server. My theme now displays without a problem.

The file portal-developer.properties only appears to contain the following properties:

theme.css.fast.load=false
theme.images.fast.load=false

javascript.fast.load=true
javascript.log.enabled=false

layout.template.cache.enabled=false

browser.launcher.url=

combo.check.timestamp=true

freemarker.engine.cache.storage=soft:1
freemarker.engine.modification.check.interval=0

openoffice.cache.enabled=false

velocity.engine.resource.manager.cache.enabled=false

com.liferay.portal.servlet.filters.cache.CacheFilter=false
com.liferay.portal.servlet.filters.etag.ETagFilter=false
com.liferay.portal.servlet.filters.header.HeaderFilter=false
com.liferay.portal.servlet.filters.themepreview.ThemePreviewFilter=true

So, finally, my question is, am I merely trading a slight performance boost for a massively easier deployment experience?

Or are there more serious concerns to loading this file in a production environment?

Thanks in advance for the input!

Ben


Solution

  • You'll get a really bad performance with that portal-ext.properties. That configuration is only intended to be used in development environments.

    If you delete the css/.sass_cache directory on your deployed theme you'll see your css changes and you'll be able to use a different portal-ext.properties on production environment.

    http://issues.liferay.com/browse/LPS-26939

    Regards