Branch: refs/heads/master
Home:
https://github.com/hawkular/hawkular-metrics
Commit: e528b5a7de17cf0e0898e30fefe1207b418bc520
https://github.com/hawkular/hawkular-metrics/commit/e528b5a7de17cf0e0898e...
Author: John Sanda <jsanda(a)redhat.com>
Date: 2016-10-18 (Tue, 18 Oct 2016)
Changed paths:
M
core/metrics-core-service/src/main/java/org/hawkular/metrics/core/jobs/JobsService.java
M
core/metrics-core-service/src/main/java/org/hawkular/metrics/core/jobs/JobsServiceImpl.java
M
core/metrics-core-service/src/test/java/org/hawkular/metrics/core/jobs/CompressDataJobITest.java
M core/schema/src/main/java/org/hawkular/metrics/schema/SchemaService.java
M core/schema/src/main/resources/org/hawkular/schema/cassalog.groovy
A core/schema/src/main/resources/org/hawkular/schema/updates/schema-0.21.0.groovy
M job-scheduler/src/main/java/org/hawkular/metrics/scheduler/api/JobDetails.java
A job-scheduler/src/main/java/org/hawkular/metrics/scheduler/api/JobStatus.java
M job-scheduler/src/main/java/org/hawkular/metrics/scheduler/api/Scheduler.java
A job-scheduler/src/main/java/org/hawkular/metrics/scheduler/impl/JobsService.java
M job-scheduler/src/main/java/org/hawkular/metrics/scheduler/impl/SchedulerImpl.java
M job-scheduler/src/main/java/org/hawkular/metrics/scheduler/impl/TestScheduler.java
M
job-scheduler/src/test/java/org/hawkular/metrics/scheduler/impl/JobExecutionTest.java
M
job-scheduler/src/test/java/org/hawkular/metrics/scheduler/impl/JobSchedulerTest.java
Log Message:
-----------
[HWKMETRICS-505] Several changes to improve error handling
This commit includes a bunch of changes.
* Store job details in scheduled_jobs_idx
I previously only stored the job id in scheduled_jobs_idx and fetched the
details from the jobs table. This eliminates the extra read. I also am no
longer storing the job details in the jobs table. Right now it doesn't really
serve a purpose, and it has actually made things a little more complex because
there are times when the next trigger gets persisted and the job for the
current trigger still has to be retried.
* Do not updated finished_jobs_idx until other post-execution steps are done
I previously updated finished_jobs_idx right after the job was done executing.
If a subsequent post-execution step failed, namely reschulding, the job would
never run again because the computeRemainingJobs() method which determines
eligible jobs to execute filters out jobs that are already in finished_jobs_idx
for the time slice in question.
* Add status column to scheduled_jobs_idx
Rather than updating finished_jobs_idx right away, I now update this new status
column. If the job is then retried after a failure we first check to see if
the status flag is set. If it is we skip job execution and move right to the
post-execution steps.
* Add error logging
I have added a bunch of doOnError(Throwable) calls in the post-execution steps
for improved debugging to make it easier to see what exactly fails.
* Make sure active jobs cache is updated
Previously if there was an error during post-execution, the job id would not
get removed from the active jobs cache. This would prevent subsequent execution
of the job since we filter out those jobs in the active jobs cache when
determining the eligible jobs. A server restart would have been required. Now
I make sure the cache gets updated in a doOnError(Throwable) callback that is
at the end of the post-execution call chain.
[HWKMETRICS-505] fix compiler error]
Forgot to remove reference to uncommitted, PoC code.
add license header
[HWKMETRICS-505] fix broken tests
Tests broke since we are no longer updating the jobs table.
fix compile error
[HWKMETRICS-505] changes based on PR review
license header
Commit: 45bdf0aae3c2356fb8cf2f21c98b42e11d577338
https://github.com/hawkular/hawkular-metrics/commit/45bdf0aae3c2356fb8cf2...
Author: Michael Burman <yak(a)iki.fi>
Date: 2016-10-18 (Tue, 18 Oct 2016)
Changed paths:
M
core/metrics-core-service/src/main/java/org/hawkular/metrics/core/jobs/JobsService.java
M
core/metrics-core-service/src/main/java/org/hawkular/metrics/core/jobs/JobsServiceImpl.java
M
core/metrics-core-service/src/test/java/org/hawkular/metrics/core/jobs/CompressDataJobITest.java
M core/schema/src/main/java/org/hawkular/metrics/schema/SchemaService.java
M core/schema/src/main/resources/org/hawkular/schema/cassalog.groovy
A core/schema/src/main/resources/org/hawkular/schema/updates/schema-0.21.0.groovy
M job-scheduler/src/main/java/org/hawkular/metrics/scheduler/api/JobDetails.java
A job-scheduler/src/main/java/org/hawkular/metrics/scheduler/api/JobStatus.java
M job-scheduler/src/main/java/org/hawkular/metrics/scheduler/api/Scheduler.java
A job-scheduler/src/main/java/org/hawkular/metrics/scheduler/impl/JobsService.java
M job-scheduler/src/main/java/org/hawkular/metrics/scheduler/impl/SchedulerImpl.java
M job-scheduler/src/main/java/org/hawkular/metrics/scheduler/impl/TestScheduler.java
M
job-scheduler/src/test/java/org/hawkular/metrics/scheduler/impl/JobExecutionTest.java
M
job-scheduler/src/test/java/org/hawkular/metrics/scheduler/impl/JobSchedulerTest.java
Log Message:
-----------
Merge pull request #641 from jsanda/hwkmetrics-505
[HWKMETRICS-505] Several changes to improve error handling
Compare:
https://github.com/hawkular/hawkular-metrics/compare/7d59670f24f5...45bdf...