[hawkular/hawkular] 9ba65b: Upgrade to hawkular-parent 19
by Peter Palaga
Branch: refs/heads/angular-styleguide
Home: https://github.com/hawkular/hawkular
Commit: 9ba65b4e6329b8c4fa01cc50ef082d89f899a93c
https://github.com/hawkular/hawkular/commit/9ba65b4e6329b8c4fa01cc50ef082...
Author: Peter Palaga <ppalaga(a)redhat.com>
Date: 2015-08-07 (Fri, 07 Aug 2015)
Changed paths:
M pom.xml
Log Message:
-----------
Upgrade to hawkular-parent 19
Commit: 94745f08ca038cf48104194c480c58684c9daa82
https://github.com/hawkular/hawkular/commit/94745f08ca038cf48104194c480c5...
Author: Peter Palaga <ppalaga(a)redhat.com>
Date: 2015-08-07 (Fri, 07 Aug 2015)
Changed paths:
M modules/end-to-end-test/src/test/groovy/org/hawkular/integration/test/AbstractTestBase.groovy
M modules/end-to-end-test/src/test/groovy/org/hawkular/integration/test/Scenario1ITest.groovy
M modules/end-to-end-test/src/test/groovy/org/hawkular/inventory/rest/test/InventoryITest.groovy
Log Message:
-----------
Change license header style from /** to /* in groovy files
Commit: 834fef1c0c85b0ac569a95bf7ae57342e9009b22
https://github.com/hawkular/hawkular/commit/834fef1c0c85b0ac569a95bf7ae57...
Author: Peter Palaga <ppalaga(a)redhat.com>
Date: 2015-08-07 (Fri, 07 Aug 2015)
Changed paths:
M pom.xml
Log Message:
-----------
Import WildFly BoM
Commit: f7dc379aa4f5e6cd58f9fa0559f893dd1a4fd207
https://github.com/hawkular/hawkular/commit/f7dc379aa4f5e6cd58f9fa0559f89...
Author: Heiko W. Rupp <hwr(a)pilhuhn.de>
Date: 2015-08-07 (Fri, 07 Aug 2015)
Changed paths:
M dist/docker/Dockerfile
Log Message:
-----------
Don't add a management user, as it fails the build. See Hawkular 430 for details
Commit: ee437ac232983befead7f2598defb81731bc113c
https://github.com/hawkular/hawkular/commit/ee437ac232983befead7f2598defb...
Author: John Mazzitelli <mazz(a)redhat.com>
Date: 2015-08-07 (Fri, 07 Aug 2015)
Changed paths:
M dist/src/main/resources/wildfly/patches/standalone.xsl
Log Message:
-----------
this is for HAWKULAR-511 but since it won't hurt anything (it isn't used anywhere yet) I'm putting this in now into master. I will be committing something soon in the bus that will actually need this setting
We are going to want to change this setting's value in the future because if a message truly is going cross-kettle over the bus, putting the binary blobs in the local data/ directory won't work (the remote kettle won't be able to see it). We will need to either require people to have a shared filesystem across kettles or we need to set this to a shared remote HTTP/FTP endpoint where binary blob files can be uploaded/downloaded.
Commit: c04bd0514d02b98ec69fd196a66485fabf262e96
https://github.com/hawkular/hawkular/commit/c04bd0514d02b98ec69fd196a6648...
Author: Juraci Paixão Kröhling <juraci(a)kroehling.de>
Date: 2015-08-07 (Fri, 07 Aug 2015)
Changed paths:
M pom.xml
Log Message:
-----------
HAWKULAR-520 - Bumped accounts
Commit: 3746fa15fef54df31273c12f2fd95a8d8f06f322
https://github.com/hawkular/hawkular/commit/3746fa15fef54df31273c12f2fd95...
Author: Mike Thompson <mithomps(a)redhat.com>
Date: 2015-08-07 (Fri, 07 Aug 2015)
Changed paths:
M console/src/main/scripts/bower.json
Log Message:
-----------
Move bower dependencies back to snapshots since we are not in release mode now.
Commit: 3017d14a8d6904c43581d64c1e5c7a0840fd5054
https://github.com/hawkular/hawkular/commit/3017d14a8d6904c43581d64c1e5c7...
Author: Peter Palaga <ppalaga(a)redhat.com>
Date: 2015-08-07 (Fri, 07 Aug 2015)
Changed paths:
M console/src/main/scripts/plugins/metrics/html/app-server-list.html
M dist/src/main/resources/wildfly/patches/standalone.xsl
Log Message:
-----------
HAWKULAR-488 Display IP Address for Application Servers
Compare: https://github.com/hawkular/hawkular/compare/b7f175a1ea32...3017d14a8d69
10 years, 8 months
[hawkular/hawkular-metrics] 0bce91: [HWKMETRICS-199] initia support for virtual clock ...
by John Sanda
Branch: refs/heads/virtual-clock
Home: https://github.com/hawkular/hawkular-metrics
Commit: 0bce919692df8f90c12725a44479769675fd8356
https://github.com/hawkular/hawkular-metrics/commit/0bce919692df8f90c1272...
Author: John Sanda <jsanda(a)redhat.com>
Date: 2015-08-07 (Fri, 07 Aug 2015)
Changed paths:
M api/metrics-api-jaxrs/src/main/java/org/hawkular/metrics/api/jaxrs/HawkularMetricsRestApp.java
M api/metrics-api-jaxrs/src/main/java/org/hawkular/metrics/api/jaxrs/MetricsServiceLifecycle.java
M api/metrics-api-jaxrs/src/main/java/org/hawkular/metrics/api/jaxrs/config/ConfigurationKey.java
M api/metrics-api-jaxrs/src/main/java/org/hawkular/metrics/api/jaxrs/filter/TenantFilter.java
A api/metrics-api-jaxrs/src/main/java/org/hawkular/metrics/api/jaxrs/handler/VirtualClockHandler.java
A api/metrics-api-jaxrs/src/main/java/org/hawkular/metrics/api/jaxrs/util/VirtualClock.java
M core/metrics-core-impl/src/main/java/org/hawkular/metrics/core/impl/MetricsServiceImpl.java
M core/metrics-core-impl/src/test/java/org/hawkular/metrics/core/impl/FakeTaskScheduler.java
M rest-tests/pom.xml
M rest-tests/src/test/groovy/org/hawkular/metrics/rest/CountersITest.groovy
M task-queue/src/main/java/org/hawkular/metrics/tasks/api/TaskScheduler.java
M task-queue/src/main/java/org/hawkular/metrics/tasks/impl/TaskSchedulerImpl.java
Log Message:
-----------
[HWKMETRICS-199] initia support for virtual clock in REST API tests
H-Metrics will use the virtual clock when the system property
hawkular.metrics.use-virtual-clock is set to true. It will cause the
VirtualClockHandler to be deployed. It provides endpoints for fetching,
setting, and incrementing the clock.
There is still some work to do to make tests more repeatable. Tests still have
to spin for some short delay to allow time for task execution to complete. This
of course is problematic because there is no way to know how long to block. We
need additional endpoints that provide functionality that are used in other
tests. That is, tests essentially wait for notifications from the task
scheduler that it has finished work for a time slice.
Commit: 4d77cc5551546fe9a2bf0044e1827b03c7054e02
https://github.com/hawkular/hawkular-metrics/commit/4d77cc5551546fe9a2bf0...
Author: John Sanda <jsanda(a)redhat.com>
Date: 2015-08-07 (Fri, 07 Aug 2015)
Changed paths:
M api/metrics-api-jaxrs/src/main/java/org/hawkular/metrics/api/jaxrs/handler/VirtualClockHandler.java
M rest-tests/src/test/groovy/org/hawkular/metrics/rest/CountersITest.groovy
M task-queue/src/main/java/org/hawkular/metrics/tasks/api/TaskScheduler.java
M task-queue/src/main/java/org/hawkular/metrics/tasks/impl/TaskSchedulerImpl.java
Log Message:
-----------
[HWKMETRICS-199] add an endpoint to block until scheduler finishes work
There is a new endpoint to block for a specified duration. On the server side,
we subscribe to the task schedulers time slices observable which emits a
timestamp at the completion of each time slice. That is, a timestamp is emitted
when all of the work for the time slice is finished. A request like,
GET /hawkulr/metrics/clock/wait?duration=5min
will block the request until the task scheduler has completed the work for five
time slices.
Commit: 3e02e8b0144a751a6296990fa2bfb2868d64155f
https://github.com/hawkular/hawkular-metrics/commit/3e02e8b0144a751a62969...
Author: John Sanda <jsanda(a)redhat.com>
Date: 2015-08-07 (Fri, 07 Aug 2015)
Changed paths:
M core/metrics-core-impl/src/test/java/org/hawkular/metrics/core/impl/FakeTaskScheduler.java
Log Message:
-----------
[HWKMETRICS-199] fix compile errors
Commit: 7f1008673417ad3d0d39cdcb1ec43a207ae9fc48
https://github.com/hawkular/hawkular-metrics/commit/7f1008673417ad3d0d39c...
Author: John Sanda <jsanda(a)redhat.com>
Date: 2015-08-07 (Fri, 07 Aug 2015)
Changed paths:
M api/metrics-api-jaxrs/src/main/java/org/hawkular/metrics/api/jaxrs/handler/VirtualClockHandler.java
Log Message:
-----------
fix checkstyle error
Commit: 03e63c397d4e72915ab3afe226668a032a3945d3
https://github.com/hawkular/hawkular-metrics/commit/03e63c397d4e72915ab3a...
Author: John Sanda <jsanda(a)redhat.com>
Date: 2015-08-07 (Fri, 07 Aug 2015)
Changed paths:
M api/metrics-api-jaxrs/src/main/java/org/hawkular/metrics/api/jaxrs/handler/VirtualClockHandler.java
Log Message:
-----------
[HWKMETRICS-199] add back missing @Inject annotation to fix test
Commit: ac1da63c7826a88db7020e0dabb12e80fa3b4e51
https://github.com/hawkular/hawkular-metrics/commit/ac1da63c7826a88db7020...
Author: John Sanda <jsanda(a)redhat.com>
Date: 2015-08-07 (Fri, 07 Aug 2015)
Changed paths:
M task-queue/src/main/java/org/hawkular/metrics/tasks/impl/TaskSchedulerImpl.java
Log Message:
-----------
[HWKMETRICS-199] fix rebase errors
Conflicts:
api/metrics-api-jaxrs/src/main/java/org/hawkular/metrics/api/jaxrs/MetricsServiceLifecycle.java
task-queue/src/test/java/org/hawkular/metrics/tasks/impl/TaskSchedulerITest.java
Compare: https://github.com/hawkular/hawkular-metrics/compare/0bce919692df^...ac1d...
10 years, 8 months
[hawkular/hawkular-metrics] bf3cce: [HWKMETRICS-168] initial commit for new scheduler ...
by Michael Burman
Branch: refs/heads/master
Home: https://github.com/hawkular/hawkular-metrics
Commit: bf3cceb64c638ff719b06004a92e9cd2ebc070f9
https://github.com/hawkular/hawkular-metrics/commit/bf3cceb64c638ff719b06...
Author: John Sanda <jsanda(a)redhat.com>
Date: 2015-08-06 (Thu, 06 Aug 2015)
Changed paths:
M api/metrics-api-jaxrs/src/main/java/org/hawkular/metrics/api/jaxrs/MetricsServiceLifecycle.java
M core/metrics-core-impl/src/main/java/org/hawkular/metrics/core/impl/GenerateRate.java
M core/metrics-core-impl/src/main/java/org/hawkular/metrics/core/impl/MetricsServiceImpl.java
R core/metrics-core-impl/src/main/java/org/hawkular/metrics/core/impl/TaskTypes.java
A core/metrics-core-impl/src/test/java/org/hawkular/metrics/core/impl/FakeTaskScheduler.java
R core/metrics-core-impl/src/test/java/org/hawkular/metrics/core/impl/FakeTaskService.java
M core/metrics-core-impl/src/test/java/org/hawkular/metrics/core/impl/MetricsServiceITest.java
M core/metrics-core-impl/src/test/java/org/hawkular/metrics/core/impl/RatesITest.java
M core/metrics-core-impl/src/test/resources/log4j.xml
M pom.xml
M rest-tests/src/test/groovy/org/hawkular/metrics/rest/CountersITest.groovy
M schema-manager/src/main/resources/schema.cql
A task-queue/src/main/java/org/hawkular/metrics/tasks/api/AbstractTrigger.java
A task-queue/src/main/java/org/hawkular/metrics/tasks/api/RepeatingTrigger.java
A task-queue/src/main/java/org/hawkular/metrics/tasks/api/SingleExecutionTrigger.java
R task-queue/src/main/java/org/hawkular/metrics/tasks/api/Task.java
A task-queue/src/main/java/org/hawkular/metrics/tasks/api/Task2.java
R task-queue/src/main/java/org/hawkular/metrics/tasks/api/TaskExecutionException.java
A task-queue/src/main/java/org/hawkular/metrics/tasks/api/TaskScheduler.java
R task-queue/src/main/java/org/hawkular/metrics/tasks/api/TaskService.java
R task-queue/src/main/java/org/hawkular/metrics/tasks/api/TaskServiceBuilder.java
R task-queue/src/main/java/org/hawkular/metrics/tasks/api/TaskType.java
A task-queue/src/main/java/org/hawkular/metrics/tasks/api/Trigger.java
A task-queue/src/main/java/org/hawkular/metrics/tasks/api/TriggerBuilder.java
M task-queue/src/main/java/org/hawkular/metrics/tasks/impl/Lease.java
M task-queue/src/main/java/org/hawkular/metrics/tasks/impl/LeaseService.java
M task-queue/src/main/java/org/hawkular/metrics/tasks/impl/Queries.java
A task-queue/src/main/java/org/hawkular/metrics/tasks/impl/Task2Impl.java
R task-queue/src/main/java/org/hawkular/metrics/tasks/impl/TaskContainer.java
R task-queue/src/main/java/org/hawkular/metrics/tasks/impl/TaskImpl.java
A task-queue/src/main/java/org/hawkular/metrics/tasks/impl/TaskSchedulerImpl.java
R task-queue/src/main/java/org/hawkular/metrics/tasks/impl/TaskServiceImpl.java
M task-queue/src/test/java/org/hawkular/metrics/tasks/BaseITest.java
R task-queue/src/test/java/org/hawkular/metrics/tasks/impl/LeaseServiceITest.java
M task-queue/src/test/java/org/hawkular/metrics/tasks/impl/TaskSchedulerITest.java
R task-queue/src/test/java/org/hawkular/metrics/tasks/impl/TaskServiceITest.java
A task-queue/src/test/java/org/hawkular/metrics/tasks/impl/TaskSubscriber.java
M task-queue/src/test/resources/log4j.xml
Log Message:
-----------
[HWKMETRICS-168] initial commit for new scheduler and task classes
[HWKMETRICS-168] persist task to queue, update trigger api, and clean up tests
[HWKMETRICS-168] add method/test for scheduling task and update schema
Pretty much all of the code prior to this ticket is commented out because it is
basically being rewritten. Tests will be added back though.
[HWKMETRICS-168] big refactoring to get concurrency right.
The scheduler deals with 4 different thread pools - one for emitting ticks, one
for processing leases, one for executing tasks, and the C* driver's I/O
threads. Making sure things execute on the right thread pool turned out to be
a challenge when chaning various Rx operators together. It is not obvious like
when you explicitly submit some task to a thread pool.
[HWKMETRICS-168] handle exceptions thrown by tasks
[HWKMETRICS-168] add support for setting number of executions in repeating trigger
This is generally useful feature, but I added it right now to help with
integration tests.
[HWKMETRICS-168] adding group_key and exec_order columns to task_queue table
These columns help if/when tasks have interdependencies. All tasks having the
same group key will be stored in the same queue, which means that they will be
associated with the same lease. The exec_order column defines an execution
order for tasks within the same group. Tasks with a lower number are executed
first.
The commit also adds/updates TaskSchedulerTest to use RxJava's TestScheduler.
It took me a good bit of time over the weekend to understand how to set things
up, but it was well worth the effort. Tests will be much more reliable,
consistent, and faster as they use a virtual clock.
[HWKMETRICS-168] emit event when scheduler is done with time slice
The getAvailableLeases method now publishes the timestamp when all work is
done. This is basically a test hook so that we can make tests consistent and
repeatable.
[HWKMETRICS-168] more tests
[HWKMETRICS-168] get RatesITest passing again
[HWKMETRICS-168] removing obsolete classes
[HWKMETRICS-168] fix post merge errors and disable integration test
There were some changes need as a result of HWKMETRICS-114 which made the
tenant id part of MetricId. The REST integration test for fetching counters is
disabled for now. Rates are calculated every minute (as of right now). We
do not want to have a test literally spin for several minutes waiting for rates
to be generated. We need a way to use RxJava's TestScheduler for REST
integration tests. I am going to createa spearate ticket for this because I
think it will involve a bit of work.
[HWKMETRICS-168] remove duplicate code in trigger classes and bump RxJava version
[HWKMETRICS-168] add test to verify execution order and fix query
I am adding a test that simulates a long running task. Every task is supposed
execute every minute. One of the tasks takes 3 minutes to complete. Tasks are
split into two groups. The test verifies that tests are executed in the
expected order despite the long delay.
This commit also fixes a bug in the query to find available leases. The filter
function needs to also check that the owern is not set in addition to the lease
not being finished.
fix imports after rebase
Commit: 38ff28cd565b610d85edaf98134ec0d497de9baa
https://github.com/hawkular/hawkular-metrics/commit/38ff28cd565b610d85eda...
Author: Michael Burman <yak(a)iki.fi>
Date: 2015-08-07 (Fri, 07 Aug 2015)
Changed paths:
M api/metrics-api-jaxrs/src/main/java/org/hawkular/metrics/api/jaxrs/MetricsServiceLifecycle.java
M core/metrics-core-impl/src/main/java/org/hawkular/metrics/core/impl/GenerateRate.java
M core/metrics-core-impl/src/main/java/org/hawkular/metrics/core/impl/MetricsServiceImpl.java
R core/metrics-core-impl/src/main/java/org/hawkular/metrics/core/impl/TaskTypes.java
A core/metrics-core-impl/src/test/java/org/hawkular/metrics/core/impl/FakeTaskScheduler.java
R core/metrics-core-impl/src/test/java/org/hawkular/metrics/core/impl/FakeTaskService.java
M core/metrics-core-impl/src/test/java/org/hawkular/metrics/core/impl/MetricsServiceITest.java
M core/metrics-core-impl/src/test/java/org/hawkular/metrics/core/impl/RatesITest.java
M core/metrics-core-impl/src/test/resources/log4j.xml
M pom.xml
M rest-tests/src/test/groovy/org/hawkular/metrics/rest/CountersITest.groovy
M schema-manager/src/main/resources/schema.cql
A task-queue/src/main/java/org/hawkular/metrics/tasks/api/AbstractTrigger.java
A task-queue/src/main/java/org/hawkular/metrics/tasks/api/RepeatingTrigger.java
A task-queue/src/main/java/org/hawkular/metrics/tasks/api/SingleExecutionTrigger.java
R task-queue/src/main/java/org/hawkular/metrics/tasks/api/Task.java
A task-queue/src/main/java/org/hawkular/metrics/tasks/api/Task2.java
R task-queue/src/main/java/org/hawkular/metrics/tasks/api/TaskExecutionException.java
A task-queue/src/main/java/org/hawkular/metrics/tasks/api/TaskScheduler.java
R task-queue/src/main/java/org/hawkular/metrics/tasks/api/TaskService.java
R task-queue/src/main/java/org/hawkular/metrics/tasks/api/TaskServiceBuilder.java
R task-queue/src/main/java/org/hawkular/metrics/tasks/api/TaskType.java
A task-queue/src/main/java/org/hawkular/metrics/tasks/api/Trigger.java
A task-queue/src/main/java/org/hawkular/metrics/tasks/api/TriggerBuilder.java
M task-queue/src/main/java/org/hawkular/metrics/tasks/impl/Lease.java
M task-queue/src/main/java/org/hawkular/metrics/tasks/impl/LeaseService.java
M task-queue/src/main/java/org/hawkular/metrics/tasks/impl/Queries.java
A task-queue/src/main/java/org/hawkular/metrics/tasks/impl/Task2Impl.java
R task-queue/src/main/java/org/hawkular/metrics/tasks/impl/TaskContainer.java
R task-queue/src/main/java/org/hawkular/metrics/tasks/impl/TaskImpl.java
A task-queue/src/main/java/org/hawkular/metrics/tasks/impl/TaskSchedulerImpl.java
R task-queue/src/main/java/org/hawkular/metrics/tasks/impl/TaskServiceImpl.java
M task-queue/src/test/java/org/hawkular/metrics/tasks/BaseITest.java
R task-queue/src/test/java/org/hawkular/metrics/tasks/impl/LeaseServiceITest.java
M task-queue/src/test/java/org/hawkular/metrics/tasks/impl/TaskSchedulerITest.java
R task-queue/src/test/java/org/hawkular/metrics/tasks/impl/TaskServiceITest.java
A task-queue/src/test/java/org/hawkular/metrics/tasks/impl/TaskSubscriber.java
M task-queue/src/test/resources/log4j.xml
Log Message:
-----------
Merge pull request #297 from hawkular/task-scheduler
Task scheduler refactoring
Compare: https://github.com/hawkular/hawkular-metrics/compare/257d0512db9e...38ff2...
10 years, 8 months
[hawkular/hawkular-metrics] bf3cce: [HWKMETRICS-168] initial commit for new scheduler ...
by John Sanda
Branch: refs/heads/task-scheduler
Home: https://github.com/hawkular/hawkular-metrics
Commit: bf3cceb64c638ff719b06004a92e9cd2ebc070f9
https://github.com/hawkular/hawkular-metrics/commit/bf3cceb64c638ff719b06...
Author: John Sanda <jsanda(a)redhat.com>
Date: 2015-08-06 (Thu, 06 Aug 2015)
Changed paths:
M api/metrics-api-jaxrs/src/main/java/org/hawkular/metrics/api/jaxrs/MetricsServiceLifecycle.java
M core/metrics-core-impl/src/main/java/org/hawkular/metrics/core/impl/GenerateRate.java
M core/metrics-core-impl/src/main/java/org/hawkular/metrics/core/impl/MetricsServiceImpl.java
R core/metrics-core-impl/src/main/java/org/hawkular/metrics/core/impl/TaskTypes.java
A core/metrics-core-impl/src/test/java/org/hawkular/metrics/core/impl/FakeTaskScheduler.java
R core/metrics-core-impl/src/test/java/org/hawkular/metrics/core/impl/FakeTaskService.java
M core/metrics-core-impl/src/test/java/org/hawkular/metrics/core/impl/MetricsServiceITest.java
M core/metrics-core-impl/src/test/java/org/hawkular/metrics/core/impl/RatesITest.java
M core/metrics-core-impl/src/test/resources/log4j.xml
M pom.xml
M rest-tests/src/test/groovy/org/hawkular/metrics/rest/CountersITest.groovy
M schema-manager/src/main/resources/schema.cql
A task-queue/src/main/java/org/hawkular/metrics/tasks/api/AbstractTrigger.java
A task-queue/src/main/java/org/hawkular/metrics/tasks/api/RepeatingTrigger.java
A task-queue/src/main/java/org/hawkular/metrics/tasks/api/SingleExecutionTrigger.java
R task-queue/src/main/java/org/hawkular/metrics/tasks/api/Task.java
A task-queue/src/main/java/org/hawkular/metrics/tasks/api/Task2.java
R task-queue/src/main/java/org/hawkular/metrics/tasks/api/TaskExecutionException.java
A task-queue/src/main/java/org/hawkular/metrics/tasks/api/TaskScheduler.java
R task-queue/src/main/java/org/hawkular/metrics/tasks/api/TaskService.java
R task-queue/src/main/java/org/hawkular/metrics/tasks/api/TaskServiceBuilder.java
R task-queue/src/main/java/org/hawkular/metrics/tasks/api/TaskType.java
A task-queue/src/main/java/org/hawkular/metrics/tasks/api/Trigger.java
A task-queue/src/main/java/org/hawkular/metrics/tasks/api/TriggerBuilder.java
M task-queue/src/main/java/org/hawkular/metrics/tasks/impl/Lease.java
M task-queue/src/main/java/org/hawkular/metrics/tasks/impl/LeaseService.java
M task-queue/src/main/java/org/hawkular/metrics/tasks/impl/Queries.java
A task-queue/src/main/java/org/hawkular/metrics/tasks/impl/Task2Impl.java
R task-queue/src/main/java/org/hawkular/metrics/tasks/impl/TaskContainer.java
R task-queue/src/main/java/org/hawkular/metrics/tasks/impl/TaskImpl.java
A task-queue/src/main/java/org/hawkular/metrics/tasks/impl/TaskSchedulerImpl.java
R task-queue/src/main/java/org/hawkular/metrics/tasks/impl/TaskServiceImpl.java
M task-queue/src/test/java/org/hawkular/metrics/tasks/BaseITest.java
R task-queue/src/test/java/org/hawkular/metrics/tasks/impl/LeaseServiceITest.java
M task-queue/src/test/java/org/hawkular/metrics/tasks/impl/TaskSchedulerITest.java
R task-queue/src/test/java/org/hawkular/metrics/tasks/impl/TaskServiceITest.java
A task-queue/src/test/java/org/hawkular/metrics/tasks/impl/TaskSubscriber.java
M task-queue/src/test/resources/log4j.xml
Log Message:
-----------
[HWKMETRICS-168] initial commit for new scheduler and task classes
[HWKMETRICS-168] persist task to queue, update trigger api, and clean up tests
[HWKMETRICS-168] add method/test for scheduling task and update schema
Pretty much all of the code prior to this ticket is commented out because it is
basically being rewritten. Tests will be added back though.
[HWKMETRICS-168] big refactoring to get concurrency right.
The scheduler deals with 4 different thread pools - one for emitting ticks, one
for processing leases, one for executing tasks, and the C* driver's I/O
threads. Making sure things execute on the right thread pool turned out to be
a challenge when chaning various Rx operators together. It is not obvious like
when you explicitly submit some task to a thread pool.
[HWKMETRICS-168] handle exceptions thrown by tasks
[HWKMETRICS-168] add support for setting number of executions in repeating trigger
This is generally useful feature, but I added it right now to help with
integration tests.
[HWKMETRICS-168] adding group_key and exec_order columns to task_queue table
These columns help if/when tasks have interdependencies. All tasks having the
same group key will be stored in the same queue, which means that they will be
associated with the same lease. The exec_order column defines an execution
order for tasks within the same group. Tasks with a lower number are executed
first.
The commit also adds/updates TaskSchedulerTest to use RxJava's TestScheduler.
It took me a good bit of time over the weekend to understand how to set things
up, but it was well worth the effort. Tests will be much more reliable,
consistent, and faster as they use a virtual clock.
[HWKMETRICS-168] emit event when scheduler is done with time slice
The getAvailableLeases method now publishes the timestamp when all work is
done. This is basically a test hook so that we can make tests consistent and
repeatable.
[HWKMETRICS-168] more tests
[HWKMETRICS-168] get RatesITest passing again
[HWKMETRICS-168] removing obsolete classes
[HWKMETRICS-168] fix post merge errors and disable integration test
There were some changes need as a result of HWKMETRICS-114 which made the
tenant id part of MetricId. The REST integration test for fetching counters is
disabled for now. Rates are calculated every minute (as of right now). We
do not want to have a test literally spin for several minutes waiting for rates
to be generated. We need a way to use RxJava's TestScheduler for REST
integration tests. I am going to createa spearate ticket for this because I
think it will involve a bit of work.
[HWKMETRICS-168] remove duplicate code in trigger classes and bump RxJava version
[HWKMETRICS-168] add test to verify execution order and fix query
I am adding a test that simulates a long running task. Every task is supposed
execute every minute. One of the tasks takes 3 minutes to complete. Tasks are
split into two groups. The test verifies that tests are executed in the
expected order despite the long delay.
This commit also fixes a bug in the query to find available leases. The filter
function needs to also check that the owern is not set in addition to the lease
not being finished.
fix imports after rebase
10 years, 8 months