Uploaded image for project: 'Hawkular Metrics'
  1. Hawkular Metrics
  2. HWKMETRICS-486

Do not execute a job multiple times for the same execution time

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: 0.20.0
    • Component/s: Scheduler
    • Labels:
      None

      Description

      This stems from HWKMETRICS-477. It might be somewhat of a corner case, but JobExecutionTest.executeLotsOfJobs revealed it. There are a couple of problems with the changes made for HWKEMTRICS-477.

      First, a different CQL statement is needed for acquiring the job execution lock. We want an exclusive lock for job execution.

      Secondly, SchedulerImpl maintains an in-memory set of active jobs. If we have a scenario in which a job gets rescheduled for execution immediately because the job is behind schedule, there is a chance that another job scheduler thread will try to obtain the execution lock, which involves executing a heavyweight light weight transaction. We can check the in-memory set of active jobs and avoid the LWT in that scenario, which is the scenario that has been failing in executeLotsOfJobs.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  john.sanda John Sanda
                  Reporter:
                  john.sanda John Sanda
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  1 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: