Description
On SaaS environments, custom language packs slow loading performance.
Symptoms
"connector-21: userId=_5223_1, sessionId=BA9B081A65354907C45C8BD897FC94C5" #588 daemon prio=5 os_prio=0 tid=0x00007f28c8fe7800 nid=0xda6 runnable [0x00007f28c503b000]
java.lang.Thread.State: RUNNABLE
at java.io.UnixFileSystem.getBooleanAttributes0(Native Method)
at java.io.UnixFileSystem.getBooleanAttributes(UnixFileSystem.java:242)
at java.io.File.exists(File.java:819)
at blackboard.platform.intl.BundleManagerImpl.getBundleFile(BundleManagerImpl.java:514)
at blackboard.platform.intl.BundleManagerImpl.getCSBundleFile(BundleManagerImpl.java:500)
at blackboard.platform.intl.BundleManagerImpl.getBundleFromFile(BundleManagerImpl.java:418)
at blackboard.platform.intl.BundleManagerImpl.loadBundle(BundleManagerImpl.java:305)
at blackboard.platform.intl.BundleManagerImpl.access$000(BundleManagerImpl.java:43)
at blackboard.platform.intl.BundleManagerImpl$1.call(BundleManagerImpl.java:258)
at blackboard.platform.intl.BundleManagerImpl$1.call(BundleManagerImpl.java:254)
at blackboard.platform.intl.impl.BundleCacheImpl.getBundleByLocale(BundleCacheImpl.java:64)
at blackboard.platform.intl.BundleManagerImpl.getBundleFromCache(BundleManagerImpl.java:252)
at blackboard.platform.intl.BundleManagerImpl.getBundle(BundleManagerImpl.java:233)
at blackboard.platform.intl.BundleManagerImpl.getBundle(BundleManagerImpl.java:170)
at blackboard.platform.intl.BundleManagerImpl.getBundle(BundleManagerImpl.java:114)
at blackboard.platform.intl.LocalizationUtil.getBundle(LocalizationUtil.java:296)
at blackboard.platform.rest.receipt.LocalizableMessage.getLocalizedMessage(LocalizableMessage.java:273)
at blackboard.data.navigation.NavigationApplication.getLabel(NavigationApplication.java:484)
at blackboard.data.navigation.ToolSettings.setupCoreApplicationAttributes(ToolSettings.java:741)
at blackboard.data.navigation.ToolSettings.<init>(ToolSettings.java:123)
at blackboard.data.navigation.CourseToolSettings.<init>(CourseToolSettings.java:73)
at blackboard.persist.navigation.impl.ToolSettingsManagerImpl.createCourseToolSettings(ToolSettingsManagerImpl.java:1485)
at blackboard.persist.navigation.impl.ToolSettingsManagerImpl.loadCourseToolSettings(ToolSettingsManagerImpl.java:319)
at sun.reflect.GeneratedMethodAccessor1430.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at blackboard.db.TransactionInterfaceFactory$TransactionHandler.invoke(TransactionInterfaceFactory.java:53)
at com.sun.proxy.$Proxy66.loadCourseToolSettings(Unknown Source)
at blackboard.data.navigation.NavigationApplicationUtil.isCourseAppEnabled(NavigationApplicationUtil.java:139)
at blackboard.webapps.portal.bbtasks.BbTasksHelper$CourseTasksHelper.isShowCourse(BbTasksHelper.java:320)
at sun.reflect.GeneratedMethodAccessor1435.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at javax.el.BeanELResolver.getValue(BeanELResolver.java:99)
at org.apache.jasper.el.JasperELResolver.getValue(JasperELResolver.java:104)
at org.apache.el.parser.AstValue.getValue(AstValue.java:183)
at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:184)
Steps to Replicate
Log into SaaS as admin.
Click on the Global Navigation Menu > Settings
Click on 'Change Personal Settings'
Select a custom Language Packs such from the list
Click on Submit
Go to System Admin (Notice Slowness)
Go to Users or Courses
Search Users or Courses
Observed Result:
The results take more than 10 seconds to load.
Expected Result:
The results take less than 10 seconds to load.
Resolution / Workaround
Workaround:
Disable all custom language packs.
Target Release
Will Not Fix
