SORMAS-Project
SORMAS-Project copied to clipboard
The dashboard opens with an error message
Bug Description
After a long loading time the dashboard opens with an error message. Nevertheless data are displayed. The error was observed only with a Contact Supervisor (ContSup) in the Region "Voreingestellte Bundesländer"
Steps to Reproduce
- Log in a ContSup
- Click on Dashboard
Expected Behavior
Screenshots

System Details
- Device: Laptop
- SORMAS version: 1.76.0 - 5201c4d
- Android version/Browser: Chrome
- Server URL: https://test-de.sormas.netzlink.com/ and https://test-auto.sormas.netzlink.com/
- User Role: ContSup
Additional Information
Logfile
Two more logs: Dashboard_Error_testAuto.txt Dashboard_Error_testSormas.txt
The reported problems were caused within 1.76.0-SNAPSHOT and fixed by #3915 9ecb4dd yesterday. The performance problem might be valid, there is currently no hint what is causing it.
Long loading time not reproducable on https://test-de.sormas.netzlink.com/ (~3s) with c2e5a943e213e6418965e3f357c58fc7ed98ecc6 Long loading time is reproducable on https://test-auto.sormas.netzlink.com/sormas-ui/#!dashboard (~23s) with c2e5a943e213e6418965e3f357c58fc7ed98ecc6
Performance log from test-auto that I extracted
# test-auto PerformanceLoggingInterceptor DEBUG
D154327.525 > Finished in 7 ms: UserService.getByUuid
D154327.525 > Finished in 8 ms: UserFacadeEjb.getUserRoles
# 1st time DashboardDataProvider.refreshDataForSelectedDisease
D154328.028 > Finished in 454 ms: DashboardService.getCases
D154328.028 > Finished in 454 ms: DashboardFacadeEjb.getCases
# 9 seconds not spend in Backend, but where?
D154337.031 > Finished in 95 ms: DashboardService.getLastReportedDistrictName
D154337.032 > Finished in 96 ms: DashboardFacadeEjb.getLastReportedDistrictName
D154337.436 > Finished in 403 ms: DashboardService.getCases
D154337.437 > Finished in 404 ms: DashboardFacadeEjb.getCases
# 9 seconds not spend in Backend, but where?
D154346.505 > Finished in 42 ms: DashboardService.getCasesCountByClassification
D154346.506 > Finished in 43 ms: DashboardFacadeEjb.getCasesCountByClassification
[2022-09-28T15:43:46.518+0200] [Payara 5.2021.10] [WARNING] [] [com.vaadin.event.EventRouter] [tid: _ThreadID=202 _ThreadName=http-thread-pool::http-listener-1(9)] [timeMillis: 1664372626518] [levelValue: 900] [[
Adding listeners with type Object is deprecated, event listener should extend SerializableEventListener]]
D154346.624 > Finished in 100 ms: DashboardService.getCaseCountByDisease
D154346.636 > Finished in 12 ms: EventService.getEventCountByDisease
D154346.636 > Finished in 12 ms: EventFacadeEjb.getEventCountByDisease
D154346.735 > Finished in 96 ms: DashboardService.getLastReportedDistrictByDisease
D154346.830 > Finished in 95 ms: DashboardService.getDeathCountByDisease
D154346.923 > Finished in 93 ms: DashboardService.getCaseCountByDisease
D154346.924 > Finished in 400 ms: DashboardFacadeEjb.getDiseaseBurden
D154346.968 > Finished in 41 ms: ContactService.getContactsForDashboard
D154346.968 > Finished in 41 ms: ContactFacadeEjb.getContactsForDashboard
D154347.082 > Finished in 43 ms: ContactService.getContactsForDashboard
D154347.083 > Finished in 44 ms: ContactFacadeEjb.getContactsForDashboard
# 2nd time DashboardDataProvider.refreshDataForSelectedDisease
D154347.281 > Finished in 94 ms: DashboardService.getCases
D154347.282 > Finished in 95 ms: DashboardFacadeEjb.getCases
D154347.404 > Finished in 101 ms: DashboardService.getLastReportedDistrictName
D154347.404 > Finished in 101 ms: DashboardFacadeEjb.getLastReportedDistrictName
D154347.501 > Finished in 95 ms: DashboardService.getCases
D154347.502 > Finished in 96 ms: DashboardFacadeEjb.getCases
D154347.629 > Finished in 93 ms: DashboardService.getCasesCountByClassification
D154347.629 > Finished in 93 ms: DashboardFacadeEjb.getCasesCountByClassification
D154347.654 > Finished in 12 ms: ContactFacadeEjb.getContactCountsByCasesForDashboard
D154347.674 > Finished in 12 ms: ContactService.getContactsForMap
D154347.675 > Finished in 13 ms: ContactFacadeEjb.getContactsForMap
# A lot of repetition?
D154347.709 > Finished in 28 ms: ContactService.getNewContactCountPerFollowUpStatus
D154347.710 > Finished in 29 ms: ContactFacadeEjb.getNewContactCountPerFollowUpStatus
D154347.740 > Finished in 28 ms: ContactService.getNewContactCountPerStatus
D154347.740 > Finished in 28 ms: ContactFacadeEjb.getNewContactCountPerStatus
D154347.770 > Finished in 27 ms: ContactService.getNewContactCountPerFollowUpStatus
D154347.771 > Finished in 29 ms: ContactFacadeEjb.getNewContactCountPerFollowUpStatus
D154347.802 > Finished in 28 ms: ContactService.getNewContactCountPerStatus
D154347.802 > Finished in 29 ms: ContactFacadeEjb.getNewContactCountPerStatus
D154347.836 > Finished in 31 ms: ContactService.getNewContactCountPerFollowUpStatus
D154347.837 > Finished in 33 ms: ContactFacadeEjb.getNewContactCountPerFollowUpStatus
D154347.878 > Finished in 39 ms: ContactService.getNewContactCountPerStatus
D154347.878 > Finished in 39 ms: ContactFacadeEjb.getNewContactCountPerStatus
D154347.912 > Finished in 32 ms: ContactService.getNewContactCountPerFollowUpStatus
D154347.912 > Finished in 32 ms: ContactFacadeEjb.getNewContactCountPerFollowUpStatus
D154347.944 > Finished in 29 ms: ContactService.getNewContactCountPerStatus
D154347.945 > Finished in 31 ms: ContactFacadeEjb.getNewContactCountPerStatus
D154347.976 > Finished in 29 ms: ContactService.getNewContactCountPerFollowUpStatus
D154347.977 > Finished in 30 ms: ContactFacadeEjb.getNewContactCountPerFollowUpStatus
D154348.008 > Finished in 29 ms: ContactService.getNewContactCountPerStatus
D154348.008 > Finished in 29 ms: ContactFacadeEjb.getNewContactCountPerStatus
D154348.040 > Finished in 30 ms: ContactService.getNewContactCountPerFollowUpStatus
D154348.040 > Finished in 30 ms: ContactFacadeEjb.getNewContactCountPerFollowUpStatus
D154348.071 > Finished in 29 ms: ContactService.getNewContactCountPerStatus
D154348.071 > Finished in 29 ms: ContactFacadeEjb.getNewContactCountPerStatus
D154348.101 > Finished in 28 ms: ContactService.getNewContactCountPerFollowUpStatus
D154348.102 > Finished in 29 ms: ContactFacadeEjb.getNewContactCountPerFollowUpStatus
D154348.131 > Finished in 27 ms: ContactService.getNewContactCountPerStatus
D154348.132 > Finished in 29 ms: ContactFacadeEjb.getNewContactCountPerStatus
Findings:
- 2x 9s gap in log after finish of
DashboardFacadeEjb.getCases(first iteration inDashboardDataProvider.refreshDataForSelectedDisease) DashboardDataProvider.refreshDataForSelectedDisease()again called with less time wasted afterDashboardFacadeEjb.getCases- First time in
ContactsDashboardView<init>:93withdashboardDataProvider.setDisease(FacadeProvider.getDiseaseConfigurationFacade().getDefaultDisease()); - Second time in
ContactsDashboardView.enter:144withContactsDashboardView.refreshDashboard()->dashboardDataProvider.refreshData()
- First time in
The data refresh inDashboardDataProvider.setDisease was introduced in #835, and setting the disease in the constructor came with #1593.
Merged into hotfix-1.75.3
Verified ticket on the local machine, test-de.sormas.netzlink.com and test-auto.sormas.netzlink.com, using the latest version of SORMAS from the development branch - 1.76.0-SNAPSHOT(5111f71).
Loading times for the Contacts Dashboard:
-
local machine: ~ 1 second (a little over 1.10 seconds);
-
test-autom.sormas.netzlink.com: ~3 seconds (about 2.58 seconds);
-
test-de.sormas.netzlink.com: ~ 2 seconds (about 1.74 seconds).