-
Bug
-
Resolution: Fixed
-
Medium
-
5.10.8
-
3
-
Severity 2 - Major
-
1
-
Summary
Confluence page will take a long time to load when you have too many attachments version. A simple page with no macros can take up to 55 seconds to load
Steps to Reproduce
- Create a page
- Add 10 attachments
- Upload several versions of those attachments (10,000 versions)
- View the page
Expected Results
The page loading time should not be affected by the number of attachment versions
Actual Results
The page takes a long time to load and the thread dumps show that Confluence is not handling loading the attachments efficiently.
HAR File
The HAR file shows the TTFB (Time To First Byte) is 46 seconds.
Page Profiling Results
2018-07-06 04:25:00,071 DEBUG [http-nio-80-exec-34] [atlassian.util.profiling.UtilTimerStack] log [43251ms] - /pages/viewpage.action
[0ms] - UserAccessor.getExistingUserByKey()
[0ms] - UserAccessor.getUserByName()
[0ms] - CrowdService.getUser()
[0ms] - ApplicationDAO.findByName()
[0ms] - UserDao.findByName()
[0ms] - UserDao.findByName()
[0ms] - UserDao.findByName()
[36657ms] - XW Interceptor: Before defaultStack: /pages/viewpage.action (ViewPageAction.execute())
[0ms] - UserAccessor.exists()
[0ms] - CrowdService.getUser()
[0ms] - ApplicationDAO.findByName()
[0ms] - UserDao.findByName()
[0ms] - UserDao.findByName()
[0ms] - UserDao.findByName()
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.isDeactivated()
[0ms] - CrowdService.isUserMemberOfGroup()
[0ms] - ApplicationDAO.findByName()
[0ms] - MembershipDao.isUserDirectMember()
[0ms] - MembershipDao.search()
[0ms] - MembershipDao.isUserDirectMember()
[0ms] - MembershipDao.search()
[0ms] - MembershipDao.isUserDirectMember()
[0ms] - SpaceAwareInterceptor.intercept()
[35203ms] - PageAwareInterceptor.intercept()
[0ms] - ContentEntityManager.getById()
[0ms] - PermissionManager.hasPermission()
[0ms] - PermissionManager.hasPermission()
[0ms] - CommentAwareInterceptor.intercept()
[0ms] - UserAwareInterceptor.intercept()
[0ms] - BootstrapAwareInterceptor.intercept()
[0ms] - PermissionManager.hasPermission()
[35188ms] - XW Interceptor: After defaultStack: /pages/viewpage.action (ViewPageAction.execute())
[35188ms] - XW Interceptor: After validatingStack: /pages/viewpage.action (ViewPageAction.execute())
[0ms] - UserAccessor.getPropertySet()
[47ms] - DefaultRenderer.render
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getPropertySet()
[0ms] - Rendering soy template: confluence.extra.information:soy-templates:Confluence.InformationMacro.before.soy
[0ms] - Rendering soy template: confluence.extra.information:soy-templates:Confluence.InformationMacro.after.soy
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getPropertySet()
[0ms] - Rendering soy template: com.atlassian.confluence.plugins.expand-macro:expand-macro-soy-templates:Confluence.ExpandMacro.dynamicBefore.soy
[0ms] - Rendering soy template: com.atlassian.confluence.plugins.expand-macro:expand-macro-soy-templates:Confluence.ExpandMacro.after.soy
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getPropertySet()
[0ms] - Rendering soy template: com.atlassian.confluence.plugins.expand-macro:expand-macro-soy-templates:Confluence.ExpandMacro.dynamicBefore.soy
[0ms] - Rendering soy template: com.atlassian.confluence.plugins.expand-macro:expand-macro-soy-templates:Confluence.ExpandMacro.after.soy
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getPropertySet()
[0ms] - Rendering soy template: com.atlassian.confluence.plugins.expand-macro:expand-macro-soy-templates:Confluence.ExpandMacro.dynamicBefore.soy
[0ms] - Rendering soy template: com.atlassian.confluence.plugins.expand-macro:expand-macro-soy-templates:Confluence.ExpandMacro.after.soy
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getPropertySet()
[0ms] - Rendering soy template: com.atlassian.confluence.plugins.expand-macro:expand-macro-soy-templates:Confluence.ExpandMacro.dynamicBefore.soy
[0ms] - Rendering soy template: com.atlassian.confluence.plugins.expand-macro:expand-macro-soy-templates:Confluence.ExpandMacro.after.soy
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getPropertySet()
[0ms] - Rendering soy template: com.atlassian.confluence.plugins.expand-macro:expand-macro-soy-templates:Confluence.ExpandMacro.dynamicBefore.soy
[0ms] - Rendering soy template: com.atlassian.confluence.plugins.expand-macro:expand-macro-soy-templates:Confluence.ExpandMacro.after.soy
[0ms] - UserAccessor.getPropertySet()
[35141ms] - XW View: doExecute(/pages/viewpage.vm)
[0ms] - XW View: getTemplate(/pages/viewpage.vm)
[35126ms] - ApplyDecoratorDirective.render()
[0ms] - SpaceManager.getSpace()
[0ms] - UserAccessor.getUserProfilePicture()
[0ms] - UserAccessor.getPropertySet()
[35110ms] - Rendering velocity template: /decorators/root.vmd
[35110ms] - ApplyDecoratorDirective.render()
[0ms] - SpaceManager.getSpace()
[0ms] - UserAccessor.getUserProfilePicture()
[0ms] - UserAccessor.getPropertySet()
[35110ms] - Rendering velocity template: /decorators/page.vmd
[0ms] - SpacePermissionManager.hasPermission()
[0ms] - SpacePermissionManager.hasPermission()
[0ms] - SpacePermissionManager.hasPermission()
[0ms] - SpacePermissionManager.hasPermission()
[0ms] - PermissionManager.hasPermission()
[0ms] - Rendering velocity template: /includes/skiplinked-section.vm
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getPropertySet()
[1657ms] - Parse: /decorators/includes/content-navigation.vm
[0ms] - PermissionManager.hasPermission()
[0ms] - PermissionManager.hasPermission()
[0ms] - PermissionManager.hasPermission()
[0ms] - PermissionManager.hasPermission()
[0ms] - PermissionManager.hasPermission()
[0ms] - PermissionManager.hasPermission()
[0ms] - PermissionManager.hasPermission()
[0ms] - PermissionManager.hasPermission()
[0ms] - PermissionManager.hasPermission()
[0ms] - PermissionManager.hasPermission()
[0ms] - PermissionManager.hasPermission()
[0ms] - UserAccessor.getPropertySet()
[0ms] - PermissionManager.hasPermission()
[0ms] - PermissionManager.hasPermission()
[0ms] - UserAccessor.getPropertySet()
[0ms] - PermissionManager.hasPermission()
[0ms] - PermissionManager.hasPermission()
[0ms] - PermissionManager.isConfluenceAdministrator()
[0ms] - PermissionManager.hasPermission()
[0ms] - PermissionManager.hasPermission()
[0ms] - PermissionManager.hasPermission()
[0ms] - PermissionManager.hasCreatePermission()
[0ms] - PermissionManager.hasPermission()
[0ms] - PermissionManager.hasPermission()
[0ms] - PermissionManager.hasPermission()
[0ms] - PermissionManager.hasPermission()
[0ms] - PermissionManager.hasPermission()
[0ms] - UserAccessor.getPropertySet()
[0ms] - ContentEntityManager.getById()
[0ms] - PermissionManager.hasPermission()
[0ms] - ContentEntityManager.getById()
[0ms] - ContentEntityManager.getById()
[0ms] - PermissionManager.hasPermission()
[0ms] - ContentEntityManager.getById()
[0ms] - ContentEntityManager.getById()
[0ms] - PermissionManager.hasPermission()
[0ms] - ContentEntityManager.getById()
[0ms] - ContentEntityManager.getById()
[0ms] - PermissionManager.hasPermission()
[0ms] - ContentEntityManager.getById()
[0ms] - ContentEntityManager.getById()
[0ms] - PermissionManager.hasPermission()
[0ms] - ContentEntityManager.getById()
[0ms] - SpaceManager.getLogoForSpace()
[0ms] - SpaceManager.getLogoForSpace()
[0ms] - SpaceManager.getSpace()
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getPropertySet()
[1484ms] - UserAccessor.getGroupNames()
[1484ms] - CrowdService.search()
[0ms] - ApplicationDAO.findByName()
[437ms] - MembershipDao.search()
[507ms] - MembershipDao.search()
[540ms] - MembershipDao.search()
[0ms] - MembershipDao.search()
[0ms] - MembershipDao.search()
[0ms] - MembershipDao.search()
[0ms] - MembershipDao.search()
[0ms] - MembershipDao.search()
[0ms] - MembershipDao.search()
[0ms] - ContentPermissionFilter.bits
[0ms] - ContentPermissionFilter.bits
[0ms] - ContentPermissionFilter.bits
[0ms] - ContentPermissionFilter.bits
[0ms] - ContentPermissionFilter.bits
[0ms] - ContentPermissionFilter.bits
[0ms] - ContentPermissionFilter.bits
[0ms] - ContentPermissionFilter.bits
[0ms] - ContentPermissionFilter.bits
[0ms] - ContentPermissionFilter.bits
[0ms] - ContentPermissionFilter.bits
[0ms] - ContentPermissionFilter.bits
[0ms] - ContentPermissionFilter.bits
[0ms] - ContentPermissionFilter.bits
[0ms] - ContentPermissionFilter.bits
[0ms] - ContentPermissionFilter.bits
[0ms] - ContentPermissionFilter.bits
[0ms] - ContentPermissionFilter.bits
[0ms] - ContentPermissionFilter.bits
[0ms] - ContentPermissionFilter.bits
[0ms] - ContentPermissionFilter.bits
[0ms] - ContentPermissionFilter.bits
[0ms] - ContentPermissionFilter.bits
[0ms] - ContentPermissionFilter.bits
[0ms] - ContentPermissionFilter.bits
[0ms] - ContentPermissionFilter.bits
[0ms] - UserAccessor.getPropertySet()
[0ms] - CalendarPermissionManager.hasEditSubCalendarPrivilege()
[0ms] - SpacePermissionManager.hasPermission()
[0ms] - FormatSettingsManager.getDateFormat()
[0ms] - FormatSettingsManager.getDateTimeFormat()
[0ms] - FormatSettingsManager.getTimeFormat()
[0ms] - FormatSettingsManager.getDateFormat()
[0ms] - FormatSettingsManager.getDateTimeFormat()
[0ms] - FormatSettingsManager.getEditorBlogPostDate()
[0ms] - SpaceManager.getSpace()
[0ms] - PermissionManager.hasCreatePermission()
[0ms] - PermissionManager.hasCreatePermission()
[0ms] - FormatSettingsManager.getDateFormat()
[0ms] - FormatSettingsManager.getDateTimeFormat()
[0ms] - FormatSettingsManager.getTimeFormat()
[0ms] - FormatSettingsManager.getDateFormat()
[0ms] - FormatSettingsManager.getDateTimeFormat()
[0ms] - FormatSettingsManager.getEditorBlogPostDate()
[0ms] - SpacePermissionManager.hasPermission()
[0ms] - SpacePermissionManager.hasPermission()
[0ms] - PermissionManager.hasPermission()
[0ms] - PermissionManager.hasPermission()
[0ms] - DefaultRenderer.render
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getPropertySet()
[0ms] - SpaceManager.getSpace()
[0ms] - Rendering velocity template: vm/tree.vm
[0ms] - UserAccessor.getPropertySet()
[0ms] - WikiStyleRenderer.convertWikiToXHtml()
[0ms] - WikiStyleRenderer.convertWikiToXHtml()
[0ms] - Parse: /decorators/includes/page-content-includes.vm
[0ms] - Parse: /template/includes/actionerrors.vm
[0ms] - Parse: /decorators/includes/link-to-this-page.vm
[0ms] - Parse: /template/includes/page-move-templates.vm
[0ms] - PermissionManager.hasRemoveHierarchyPermission()
[0ms] - Parse: /template/includes/search-results-grid-templates.vm
[0ms] - Parse: /decorators/includes/page-metadata.vm
[0ms] - CrowdService.getUser()
[0ms] - ApplicationDAO.findByName()
[0ms] - UserDao.findByName()
[0ms] - UserDao.findByName()
[0ms] - PermissionManager.hasPermission()
[0ms] - PermissionManager.hasPermission()
[0ms] - UserAccessor.getConfluenceUserPreferences()
[0ms] - FormatSettingsManager.getDateFormat()
[0ms] - FormatSettingsManager.getDateTimeFormat()
[0ms] - FormatSettingsManager.getTimeFormat()
[0ms] - FormatSettingsManager.getDateFormat()
[0ms] - FormatSettingsManager.getDateTimeFormat()
[0ms] - FormatSettingsManager.getEditorBlogPostDate()
[0ms] - Rendering velocity template: /includes/skiplinked-section.vm
[0ms] - UserAccessor.getPropertySet()
[0ms] - Parse: /com/atlassian/confluence/plugins/labels/components/labels-editor.vm
[0ms] - Parse: /com/atlassian/confluence/plugins/labels/components/labels-content.vm
[0ms] - Parse: /com/atlassian/confluence/plugins/labels/components/labels-list.vm
[468ms] - ApplyDecoratorDirective.render()
[0ms] - SpaceManager.getSpace()
[0ms] - UserAccessor.getUserProfilePicture()
[0ms] - UserAccessor.getPropertySet()
[468ms] - Rendering velocity template: /decorators/root.vmd
[468ms] - ApplyDecoratorDirective.render()
[0ms] - SpaceManager.getSpace()
[0ms] - UserAccessor.getUserProfilePicture()
[0ms] - UserAccessor.getPropertySet()
[468ms] - Rendering velocity template: /decorators/components/comments.vmd
[453ms] - NotificationManager.isWatchingContent()
[0ms] - PermissionManager.hasCreatePermission()
[0ms] - Rendering velocity template: templates/quick-comment.vm
[0ms] - PermissionManager.hasCreatePermission()
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getUserProfilePicture()
[0ms] - Rendering soy template: com.atlassian.confluence.plugins.quickedit:quick-comment-initial:Confluence.Templates.Comments.displayTopLevelCommentEditorPlaceholder.soy
[0ms] - PermissionManager.hasCreatePermission()
[532ms] - Parse: /pages/page-breadcrumbs.vm
[0ms] - Parse: /breadcrumbs.vm
[6203ms] - Parse: /template/includes/space-tools-web-items.vm
[6203ms] - system.space.tools
[0ms] - PermissionManager.hasPermission()
[0ms] - PermissionManager.hasPermission()
[0ms] - PermissionManager.hasPermission()
[0ms] - PermissionManager.hasPermission()
[0ms] - PermissionManager.isConfluenceAdministrator()
[0ms] - PermissionManager.hasPermission()
[0ms] - PermissionManager.isConfluenceAdministrator()
[1656ms] - UserAccessor.getGroupNames()
[1656ms] - CrowdService.search()
[0ms] - ApplicationDAO.findByName()
[500ms] - MembershipDao.search()
[687ms] - MembershipDao.search()
[469ms] - MembershipDao.search()
[0ms] - MembershipDao.search()
[0ms] - MembershipDao.search()
[0ms] - MembershipDao.search()
[0ms] - MembershipDao.search()
[0ms] - MembershipDao.search()
[0ms] - MembershipDao.search()
[0ms] - PermissionManager.hasPermission()
[0ms] - PermissionManager.hasPermission()
[500ms] - NotificationManager.getNotificationByUserAndSpace()
[469ms] - NotificationManager.getNotificationByUserAndSpaceAndType()
[453ms] - NotificationManager.getNotificationByUserAndSpaceAndType()
[578ms] - NotificationManager.getNotificationByUserAndSpace()
[906ms] - NotificationManager.getNotificationByUserAndSpace()
[563ms] - NotificationManager.getNotificationByUserAndSpaceAndType()
[578ms] - NotificationManager.getNotificationByUserAndSpace()
[500ms] - NotificationManager.getNotificationByUserAndSpaceAndType()
[0ms] - PermissionManager.isConfluenceAdministrator()
[0ms] - PermissionManager.hasPermission()
[0ms] - PermissionManager.hasPermission()
[0ms] - UserAccessor.getUserProfilePicture()
[0ms] - UserAccessor.getPropertySet()
[15ms] - SpaceManager.getSpace()
[6500ms] - SiteMesh: applyDecorator: main (/decorators/main.vmd)
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getUserProfilePicture()
[5156ms] - Rendering velocity template: /decorators/main.vmd
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getPropertySet()
[2000ms] - Parse: /decorators/includes/header.vm
[0ms] - UserAccessor.getUserProfilePicture()
[0ms] - UserAccessor.getUserPreferences()
[0ms] - UserAccessor.getPropertySet()
[0ms] - JiraAccessor.getLinkedJiraApplications()
[0ms] - PermissionManager.isConfluenceAdministrator()
[0ms] - CalendarManager.getUserPreference()
[0ms] - CalendarPreferenceManager.getUserPreference()
[0ms] - SpacePermissionManager.hasPermission()
[0ms] - UserAccessor.getUserByName()
[0ms] - CrowdService.getUser()
[0ms] - ApplicationDAO.findByName()
[0ms] - UserDao.findByName()
[0ms] - UserDao.findByName()
[0ms] - UserDao.findByName()
[0ms] - PermissionManager.hasPermission()
[0ms] - UserAccessor.getConfluenceUserPreferences()
[0ms] - Rendering soy template: com.atlassian.confluence.extra.team-calendars:server-soy-templates:Confluence.TeamCalendars.Server.Templates.messages.soy
[0ms] - PermissionManager.isConfluenceAdministrator()
[0ms] - Rendering velocity template: templates/date-header.vm
[0ms] - FormatSettingsManager.getDateFormat()
[1969ms] - VelocityFriendlyPageBuilderService.getConfluenceResourceTags
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getPropertySet()
[0ms] - SpacePermissionManager.hasPermission()
[0ms] - DefaultSpacePermissionManager.hasPermissionNoExemptions(USECONFLUENCE, anonymous, global)
[0ms] - UserAccessor.isDeactivated()
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getExistingUserByKey()
[0ms] - PermissionManager.hasPermission()
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getUserByName()
[0ms] - CrowdService.getUser()
[0ms] - ApplicationDAO.findByName()
[0ms] - UserDao.findByName()
[0ms] - UserDao.findByName()
[0ms] - UserDao.findByName()
[0ms] - PermissionManager.isSystemAdministrator()
[0ms] - UserAccessor.getPropertySet()
[0ms] - PermissionManager.hasPermission()
[0ms] - UserAccessor.getExistingUserByKey()
[0ms] - PermissionManager.hasPermission()
[0ms] - UserAccessor.getExistingUserByKey()
[0ms] - PermissionManager.hasPermission()
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getUserByName()
[0ms] - CrowdService.getUser()
[0ms] - ApplicationDAO.findByName()
[0ms] - UserDao.findByName()
[0ms] - UserDao.findByName()
[0ms] - UserDao.findByName()
[0ms] - PermissionManager.hasPermission()
[0ms] - Parse: /decorators/includes/main-content-includes.vm
[0ms] - Parse: /template/includes/global-settings.vm
[0ms] - MessageManager.getMessages()
[0ms] - UserAccessor.getPropertySet()
[3140ms] - Parse: /decorators/includes/common-header.vm
[1437ms] - Parse: /decorators/includes/aui-header-primary.vm
[0ms] - PermissionManager.hasPermission()
[0ms] - PermissionManager.hasPermission()
[0ms] - CalendarPermissionManager.hasEditSubCalendarPrivilege()
[0ms] - SpacePermissionManager.hasPermission()
[0ms] - PermissionManager.hasPermission()
[0ms] - UserAccessor.getPropertySet()
[0ms] - PermissionManager.isConfluenceAdministrator()
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getPropertySet()
[0ms] - PermissionManager.hasPermission()
[0ms] - SpacePermissionManager.hasPermission()
[0ms] - UserAccessor.getPropertySet()
[0ms] - PermissionManager.hasPermission()
[0ms] - SpaceManager.getSpaces()
[0ms] - SpaceManager.getSpaces()
[0ms] - Rendering soy template: com.atlassian.auiplugin:aui-experimental-soy-templates:aui.buttons.button.soy
[0ms] - Rendering soy template: com.atlassian.auiplugin:aui-experimental-soy-templates:aui.buttons.button.soy
[1141ms] - Parse: /decorators/includes/aui-header-secondary.vm
[0ms] - UserAccessor.getPropertySet()
[0ms] - PermissionManager.hasPermission()
[0ms] - PermissionManager.isConfluenceAdministrator()
[0ms] - PermissionManager.isConfluenceAdministrator()
[0ms] - PermissionManager.isConfluenceAdministrator()
[0ms] - PermissionManager.isConfluenceAdministrator()
[0ms] - UserAccessor.getPropertySet()
[0ms] - PermissionManager.isConfluenceAdministrator()
[0ms] - PermissionManager.hasPermission()
[547ms] - SpaceManager.getPersonalSpace()
[531ms] - SpaceManager.getPersonalSpace()
[47ms] - PersonalInformationManager.getOrCreatePersonalInformation()
[0ms] - PermissionManager.hasCreatePermission()
[0ms] - PermissionManager.hasPermission()
[0ms] - Rendering soy template: com.atlassian.plugins.atlassian-nav-links-plugin:rotp-menu:navlinks.templates.appswitcher.switcher.soy
[0ms] - UserAccessor.getPropertySet()
[0ms] - UserAccessor.getExistingUserByKey()
[0ms] - PermissionManager.hasPermission()
[0ms] - UserAccessor.getExistingUserByKey()
[0ms] - PermissionManager.hasPermission()
[0ms] - Rendering soy template: com.atlassian.auiplugin:aui-experimental-soy-templates:aui.page.header.soy
[0ms] - Rendering velocity template: /decorators/includes/footer.vm
[0ms] - Parse: /decorators/includes/footer-content.vm
[0ms] - PermissionManager.isSystemAdministrator()
Thread Dumps
You will notice the following stacktrace in the thread dumps.
P.S. These thread dumps were taken when SQL Logging was enabled.
"http-nio-80-exec-6" #194 daemon prio=5 os_prio=0 tid=0x000000003469e800 nid=0x290 runnable [0x000000005ba03000] java.lang.Thread.State: RUNNABLE at java.lang.Throwable.getStackTraceElement(Native Method) at java.lang.Throwable.getOurStackTrace(Unknown Source) - locked <0x000000075ceb8b48> (a java.lang.Throwable) at java.lang.Throwable.getStackTrace(Unknown Source) at sun.reflect.GeneratedMethodAccessor222.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.log4j.spi.LocationInfo.<init>(LocationInfo.java:139) at org.apache.log4j.spi.LoggingEvent.getLocationInformation(LoggingEvent.java:253) at org.apache.log4j.helpers.PatternParser$LocationPatternConverter.convert(PatternParser.java:500) at org.apache.log4j.helpers.PatternConverter.format(PatternConverter.java:65) at org.apache.log4j.PatternLayout.format(PatternLayout.java:506) at com.atlassian.confluence.util.PatternLayoutWithStackTrace.format(PatternLayoutWithStackTrace.java:26) at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:310) at org.apache.log4j.RollingFileAppender.subAppend(RollingFileAppender.java:276) at org.apache.log4j.WriterAppender.append(WriterAppender.java:162) at com.atlassian.confluence.logging.ConfluenceHomeLogAppender.append(ConfluenceHomeLogAppender.java:147) at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:251) - locked <0x00000006414f0d40> (a com.atlassian.confluence.logging.ConfluenceHomeLogAppender) at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:66) at org.apache.log4j.Category.callAppenders(Category.java:206) - locked <0x000000064140d4c8> (a org.apache.log4j.spi.RootLogger) at org.apache.log4j.Category.forcedLog(Category.java:391) at org.apache.log4j.Category.log(Category.java:856) at org.slf4j.impl.Log4jLoggerAdapter.log(Log4jLoggerAdapter.java:595) at org.apache.commons.logging.impl.SLF4JLocationAwareLog.trace(SLF4JLocationAwareLog.java:107) at net.sf.hibernate.type.NullableType.nullSafeGet(NullableType.java:78) at net.sf.hibernate.type.NullableType.nullSafeGet(NullableType.java:63) at net.sf.hibernate.type.AbstractType.hydrate(AbstractType.java:67) at net.sf.hibernate.loader.Loader.hydrate(Loader.java:690) at net.sf.hibernate.loader.Loader.loadFromResultSet(Loader.java:631) at net.sf.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:590) at net.sf.hibernate.loader.Loader.getRow(Loader.java:505) at net.sf.hibernate.loader.Loader.getRowFromResultSet(Loader.java:218) at net.sf.hibernate.loader.Loader.doQuery(Loader.java:285) at net.sf.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:138) at net.sf.hibernate.loader.Loader.loadEntity(Loader.java:941) at net.sf.hibernate.loader.Loader.loadEntity(Loader.java:961) at net.sf.hibernate.loader.EntityLoader.load(EntityLoader.java:59) at net.sf.hibernate.loader.EntityLoader.load(EntityLoader.java:51) at net.sf.hibernate.persister.EntityPersister.load(EntityPersister.java:413) at net.sf.hibernate.impl.SessionImpl.doLoad(SessionImpl.java:2157) at net.sf.hibernate.impl.SessionImpl.doLoadByClass(SessionImpl.java:2017) at net.sf.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:1979) at net.sf.hibernate.type.ManyToOneType.resolveIdentifier(ManyToOneType.java:69) at net.sf.hibernate.type.ManyToOneType.assemble(ManyToOneType.java:108) at net.sf.hibernate.collection.Bag.initializeFromCache(Bag.java:157) at net.sf.hibernate.impl.SessionImpl.initializeCollectionFromCache(SessionImpl.java:4044) at net.sf.hibernate.impl.SessionImpl.initializeCollection(SessionImpl.java:3340) at net.sf.hibernate.collection.PersistentCollection.initialize(PersistentCollection.java:195) at net.sf.hibernate.collection.PersistentCollection.read(PersistentCollection.java:71) at net.sf.hibernate.collection.Bag.iterator(Bag.java:256) at com.google.common.collect.Collections2$FilteredCollection.iterator(Collections2.java:175) at com.google.common.collect.Collections2$FilteredCollection.toArray(Collections2.java:228) at java.util.ArrayList.<init>(Unknown Source) at com.atlassian.confluence.core.ContentEntityObject.getLatestVersionsOfAttachments(ContentEntityObject.java:874)
Attachment Versions
In order to confirm whether you are affected by this, you can run the following query on the database
select count(1) from content where (contenttype = 'ATTACHMENT' or contenttype is NULL) and pageid = <PAGEID>;
Make sure to replace the <PAGEID> with the actual page id.
Workaround
The only available workaround at the moment is to copy the offending page and archive the old one. This will reduce the number of attachment versions for that page.
A fix for this issue is available to Server and Data Center customers in Confluence 6.13.0
Upgrade now or check out the Release Notes to see what other issues are resolved.