Uploaded image for project: 'jBPM'
  1. jBPM
  2. JBPM-7708

Syncing job executor with database stopped after temporary database unavailability

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: 7.7.0.Final
    • Fix Version/s: 7.12.0.Final
    • Component/s: KieServer
    • Labels:
      None
    • Sprint:
      2018 Week 36-38
    • Steps to Reproduce:
      Hide

      1. enable auto reconnect for jBPM data source on JBoss server eg. background-validation
      2. configure job executor to do synchronization with a database org.kie.executor.interval > 0
      3. start kie-server
      4. wait until job executor starts to sync with database - log entries "Load of jobs from storage started/finished" appear
      5. shutdown database - an exception should be written into log
      6. startup database
      7. job executor doesn't work - log entries "Load of jobs from storage started/finished" don't appear

      Show
      1. enable auto reconnect for jBPM data source on JBoss server eg. background-validation 2. configure job executor to do synchronization with a database org.kie.executor.interval > 0 3. start kie-server 4. wait until job executor starts to sync with database - log entries "Load of jobs from storage started/finished" appear 5. shutdown database - an exception should be written into log 6. startup database 7. job executor doesn't work - log entries "Load of jobs from storage started/finished" don't appear
    • Docs QE Status:
      NEW
    • QE Status:
      NEW

      Description

      I tested my system how it behaves when a database is temporarily unavailable. My JBoss EAP data sources are configured to auto-reconnect. As I expected processes that were running at the time of database breakdown ended with errors. After a few seconds when the database was back available I could run new processes with success but I noticed that job executor stopped to sync with the database. I have property org.kie.executor.interval set to 10 to sync job executor between nodes. After a short research, I found out that LoadAndScheduleRequestsTask doesn’t handle exceptions so when an exception is thrown ScheduledThreadPoolExecutor by design stops executing periodic tasks.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  swiderski.maciej Maciej Swiderski
                  Reporter:
                  duzar Dariusz Uzar
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  2 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: