Uploaded image for project: 'Apache Fineract'
  1. Apache Fineract
  2. FINERACT-995

Operation not allowed for a result set of type ResultSet.TYPE_FORWARD_ONLY in LoanArrearsAgingServiceImpl

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • 1.4.0
    • 1.4.0
    • None
    • None

    Description

      See FINERACT-932 for general background. This should definitely be "fixed":

      org.quartz.SchedulerException: Job threw an unhandled exception.
      	at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
      	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
      Caused by: org.springframework.scheduling.quartz.JobMethodInvocationFailedException: Invocation of method 'updateLoanArrearsAgeingDetails' on target class [class org.apache.fineract.portfolio.loanaccount.service.LoanArrearsAgingServiceImpl$$EnhancerBySpringCGLIB$$f1072374] failed; nested exception is org.springframework.dao.TransientDataAccessResourceException: StatementCallback; SQL [select ml.id as loanId, mr.duedate as dueDate, mr.principal_amount as principalAmount, mr.interest_amount as interestAmount, mr.fee_charges_amount as feeAmount, mr.penalty_charges_amount as penaltyAmount  from m_loan ml  INNER JOIN m_loan_repayment_schedule_history mr on mr.loan_id = ml.id where mr.duedate  < SUBDATE(CURDATE(),INTERVAL  ifnull(ml.grace_on_arrears_ageing,0) day) and ml.id IN(8, 9) and  mr.version = (select max(lrs.version) from m_loan_repayment_schedule_history lrs where mr.loan_id = lrs.loan_id) order by ml.id,mr.duedate]; Operation not allowed for a result set of type ResultSet.TYPE_FORWARD_ONLY.; nested exception is java.sql.SQLException: Operation not allowed for a result set of type ResultSet.TYPE_FORWARD_ONLY.
      	at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:276)
      	at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:75)
      	at org.quartz.core.JobRunShell.run(JobRunShell.java:202)

      As per FINERACT-932, this happened on Fineract.dev, which runs with the MySQL JDBC thin driver that is part of our Docker image. It's possible that this is related to a specific JDBC Driver, and cannot be reproduced with Drizzle. IMHO we should consider FINERACT-982 (which won't fix this, but perhaps make it appear in integration testing already; worth a try at least).

      Attachments

        Issue Links

          Activity

            People

              ptuomola Petri Tuomola
              vorburger Michael Vorburger
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: