Details
-
Improvement
-
Status: Open
-
Blocker
-
Resolution: Unresolved
-
1.4.0
-
None
-
None
Description
I'm seeing a number of exceptions in the logs of https://www.fineract.dev, and at least some if not most of them, to me, seem like things that probably should not be logged as errors.
IMHO, a log.error() should only be used to indicate something "broken" (e.g. can't connect to a database), but not, typically, for something like a missing field problem in an incoming JSON? That's "normal", and already signaled to th e client through an expected response. An "operator" can't typically "do something" about those kinds of errors.
We can also think of some special cases, e.g. the log.error we currently for FINERACT-726, which may be useful to help people more easily see that widespread problem, during transitioning. But perhaps log warn or even info instead of error would be more appropriate than error for such things? Perhaps what I'm outlining here should be documented on the README in a (succinct) "Log Policy" kind of section?
I'll create dedicated linked issues for each such exception I'm seeing, for analysis by others interested.
Attachments
Issue Links
- is blocked by
-
FINERACT-1085 JournalEntryInvalidException: Journal entry cannot be made prior to last account closing date for the branch at org.apache.fineract.accounting.journalentry.service.AccountingProcessorHelper.checkForBranchClosures()
- Open
-
FINERACT-1086 JpaOptimisticLockingFailureException at LoanSchedularServiceImpl.recalculateInterest() - requires retry logic?
- Open
-
FINERACT-1122 NullPointerException at DepositAccountInterestRateChartData.from()
- Open
-
FINERACT-1266 NullPointerException at SavingsHelper.determineInterestPostingPeriods()
- Open
-
FINERACT-1267 NullPointerException at ChronoLocalDate.isEqual()
- Open
-
FINERACT-1477 InsufficientAccountBalanceException in Batch Job
- Open
-
FINERACT-1478 java.sql.SQLException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '= 'datatable', 'ZZZ', entity_name), entity_name' at line 1
- Open
-
FINERACT-1269 JsonSyntaxException: MalformedJsonException: at SynchronousCommandProcessingService.publishEvent
- Open
-
FINERACT-1283 Cannot get a NUMERIC value from a STRING formula cell
- Open
-
FINERACT-1479 java.sql.SQLException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'of ON of.id = cl.office_id AND of.hierarchy like '.%' LEFT JOIN m_product_loan ' at line 1
- Open
-
FINERACT-934 DatatableEntryRequiredException at EntityDatatableChecksWritePlatformServiceImpl
- Reopened
-
FINERACT-935 StaffNotFoundException at StaffRepositoryWrapper
- Reopened
-
FINERACT-936 PlatformApiDataValidationException at ClientDataValidator
- Reopened
-
FINERACT-977 Two NullPointerException in AbstractLoanScheduleGenerator
- Resolved
-
FINERACT-995 Operation not allowed for a result set of type ResultSet.TYPE_FORWARD_ONLY in LoanArrearsAgingServiceImpl
- Resolved
-
FINERACT-1004 NPE in AddressWritePlatformServiceImpl.updateClientAddress()
- Resolved
-
FINERACT-1008 Field 'version_rank' doesn't have a default value (blocking updates on fineract.dev)
- Resolved
-
FINERACT-1036 NullPointerException at DocumentManagementApiResource.createDocument()
- Resolved
-
FINERACT-1037 FileNotFoundException: /home/tomcat/.fineract/DefaultDemoTenant/documents/CLIENTS_PERSON/null/sf5694ypszb/something.xls
- Resolved
-
FINERACT-1060 UserNotFoundException at org.apache.fineract.useradministration.domain.AppUserRepositoryWrapper.fetchSystemUser()
- Resolved
-
FINERACT-1061 Operation not allowed for a result set of type ResultSet.TYPE_FORWARD_ONLY in ProductMixReadPlatformServiceImpl.retrieveAllProductMixes()
- Resolved
-
FINERACT-1066 NullPointerException at SQLInjectionValidator.validateSQLInput()
- Resolved
-
FINERACT-1087 NullPointerException at SavingsTransactionsWorkbookPopulator.populateSavingsTable() and FixedDepositTransactionWorkbookPopulator.populateSavingsTable()
- Resolved
-
FINERACT-1089 Operation not allowed for a result set of type ResultSet.TYPE_FORWARD_ONLY in InterestRateChartReadPlatformServiceImpl
- Resolved
-
FINERACT-1091 PersistenceException: Field 'constitution_cv_id' doesn't have a default value
- Resolved
-
FINERACT-1149 IllegalArgumentException at SQLBuilder.addCriteria() at StaffReadPlatformServiceImpl.retrieveAllLoanOfficersInOfficeById()
- Resolved
-
FINERACT-1155 NPE at AddressWritePlatformServiceImpl.addNewClientAddress()
- Resolved
-
FINERACT-1157 UnsupportedOperationException at InteropServiceImpl
- Resolved
-
FINERACT-1158 NPE at InteropTransferActionType
- Resolved
-
FINERACT-1242 OfficeTest fails with java.time.format.DateTimeParseException: Text '2020-10-25' could not be parsed: Unable to obtain LocalDateTime from TemporalAccessor: {DayOfMonth=25, Year=2020},ISO resolved to 00:10 of type java.time.format.Parsed
- Resolved
-
FINERACT-1070 Email Service Configurations defaults to port 25 irrespective of Port number specified
- Resolved
-
FINERACT-1224 NullPointerException at Base64$Encoder.encode() in ImagesApiResource
- Resolved
-
FINERACT-933 ArrayIndexOutOfBoundsException at ClientPersonImportHandler
- Resolved
-
FINERACT-978 java.lang.reflect.InvocationTargetException at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) Caused by: java.lang.IllegalStateException: Logback configuration error detected:
- Resolved
-
FINERACT-1280 Email failure - Internal Server error
- Resolved
-
FINERACT-1088 ResourceAccessException at SmsCampaignDropdownReadPlatformServiceImpl
- Resolved
-
FINERACT-1121 NoSuchElementException at AbstractLoanScheduleGenerator.checkIfFirstRepaymentDateisOnHolidayOrNonWorkingDay
- Closed
-
FINERACT-1258 NPE at LoanAccountDomainServiceJpa.recalculateAccruals()
- Closed
-
FINERACT-1260 EntityExistsException: Cannot delete or update a parent row: a foreign key constraint fails (`fineract_default`.`m_loan_transaction_repayment_schedule_mapping`, CONSTRAINT `FK_mappings_m_loan_repayment_schedule`...
- Closed
-
FINERACT-1067 ScheduleDateException at AbstractLoanScheduleGenerator.generate()
- Closed
-
FINERACT-1259 NPE at SynchronousCommandProcessingService.processAndLogCommand()
- Closed
-
FINERACT-975 /tmp needs to be writeable in container
- Closed
-
FINERACT-1123 StringIndexOutOfBoundsException at ColumnValidator
- Closed
-
FINERACT-1124 Return clearer JSON validation errors to clients (instead of HTTP 500)
- Closed
-
FINERACT-1268 IllegalArgumentException: No enum constant ... at lang.Enum.valueOf()
- Closed
-
FINERACT-1473 InaccessibleObjectException - Unable to make field private final byte java.time.LocalTime.hour accessible: module java.base does not "opens java.time" to unnamed module
- Closed
-
FINERACT-955 ContentRepository for Google Cloud Storage
- In Progress
- is related to
-
FINERACT-999 Include git revision in (each) log statement
- Open
- requires
-
FINERACT-942 Make Checkstyle detect bad logging anti-patterns (and fix problems found)
- Resolved