|
Investigation:
- Issue should occur when crawling webpages in edit mode (mgnlPreview=false). Integration tests crawler should be ideal to reproduce the issue (no need to go trough UI, we just need to render page editor comments for areas and components).
- Cannot reproduce locally the build failure (OSX)
- Tried to lower the assigned memory ce-bundle/magnolia-integration-tests/tests/pom.xml, section <cargo.jvmargs>-Dmagnolia.update.auto=true -Xmx1024M -Djava.awt.headless=true -XX:MaxPermSize=256m</cargo.jvmargs>
but coudln't find a threshold to fail the run with the PR changes / pass without the PR changes.
- Reproduceable on Jenkins.
- Local tests:
- Plumbr doesn't reveal any memory leaks. (Add -javaagent:plumbr.jar to <cargo.jvmargs>)
- JProfiler shows a lot of java.lang.Method objects created by ProxiedI18izer. Removing of I18nizer and using the TranslationService directly passed four jenkins builds in a row but the fifth failed.
Possible causes:
- ProxiedI18izer overhead (don't have to be used).
- I18nKeyGenerator creates more then one key (compared to old i18n) -> creation of keys have to use some memory.
- I18nKeyGenerator creates keys even for templates where the keys are not defined (those were skipped with old i18n and template name was used instead)
- The issue doesn't affect public pages (page editor comments are generated only in edit mode).
- The issue is hardly to be reproduced in production since 10 editors probably don't request ~10 different pages per second at the same time as our integration test crawler does.
- There could be possible memory consumption issue with new i18n - we never had a stress test for it since it was used only in UI. Or this is could not be an issue but just the disadvantage of multiple i18n keys support.
|