Districts would like SSWAT export data to import without error. However, under some unknown circumstances, district imports will fail while importing revenue account summaries because the system was unable to retrieve an anticipated revenue account associated with the current revenue account. See the attached stack trace for details.
We can't quite track down exactly what's happening here but we're going to do a couple things to help us debug this should it happen again:
We need to make the AccountSummaryImportImpl defensive enough to prevent failure of the import if an exception like this occurs. It should log the error with a stack trace and continue on
We're going to update the AccountSynchronizationListener.synchronize method to use the anticipatedRevenue from the RevenueAccount instead of re-retrieving it from the repository. This should have been populated by the time the synchronization is reached. We also want to make this method more defensive to log an error if the AnticpatedRevenue for the RevenueAccount is null.
Environment
None
Attachments
2
Activity
Dave Smith March 14, 2018 at 4:23 PM
approved for 120 payment.
Christopher Springer March 13, 2018 at 2:25 AM
Edited
Attached successful re-import after adding new logging and refactorings suggested in this issue.
Districts would like SSWAT export data to import without error. However, under some unknown circumstances, district imports will fail while importing revenue account summaries because the system was unable to retrieve an anticipated revenue account associated with the current revenue account. See the attached stack trace for details.
We can't quite track down exactly what's happening here but we're going to do a couple things to help us debug this should it happen again:
We need to make the AccountSummaryImportImpl defensive enough to prevent failure of the import if an exception like this occurs. It should log the error with a stack trace and continue on
We're going to update the AccountSynchronizationListener.synchronize method to use the anticipatedRevenue from the RevenueAccount instead of re-retrieving it from the repository. This should have been populated by the time the synchronization is reached. We also want to make this method more defensive to log an error if the AnticpatedRevenue for the RevenueAccount is null.