[hawkular/hawkular-metrics] e154eb: [HWKMETRICS-168] initial commit for new scheduler ...
by John Sanda
Branch: refs/heads/task-scheduler
Home: https://github.com/hawkular/hawkular-metrics
Commit: e154eb93ade292df6411176acddebf18e5b4d47d
https://github.com/hawkular/hawkular-metrics/commit/e154eb93ade292df64111...
Author: John Sanda <jsanda(a)redhat.com>
Date: 2015-08-02 (Sun, 02 Aug 2015)
Changed paths:
M schema-manager/src/main/resources/schema.cql
A task-queue/src/main/java/org/hawkular/metrics/tasks/api/RepeatingTrigger.java
A task-queue/src/main/java/org/hawkular/metrics/tasks/api/Task2.java
A task-queue/src/main/java/org/hawkular/metrics/tasks/api/TaskScheduler.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
A task-queue/src/main/java/org/hawkular/metrics/tasks/impl/TaskSchedulerImpl.java
M task-queue/src/test/java/org/hawkular/metrics/tasks/BaseITest.java
A task-queue/src/test/java/org/hawkular/metrics/tasks/impl/TaskSchedulerImplTest.java
Log Message:
-----------
[HWKMETRICS-168] initial commit for new scheduler and task classes
Commit: 5b19c94a62d6088c3ea887ce95bd28ef4db327b8
https://github.com/hawkular/hawkular-metrics/commit/5b19c94a62d6088c3ea88...
Author: John Sanda <jsanda(a)redhat.com>
Date: 2015-08-02 (Sun, 02 Aug 2015)
Changed paths:
M schema-manager/src/main/resources/schema.cql
M task-queue/src/main/java/org/hawkular/metrics/tasks/api/RepeatingTrigger.java
M task-queue/src/main/java/org/hawkular/metrics/tasks/api/Task2.java
M task-queue/src/main/java/org/hawkular/metrics/tasks/api/TaskScheduler.java
A task-queue/src/main/java/org/hawkular/metrics/tasks/api/Trigger.java
M task-queue/src/main/java/org/hawkular/metrics/tasks/impl/Queries.java
M task-queue/src/main/java/org/hawkular/metrics/tasks/impl/Task2Impl.java
M task-queue/src/main/java/org/hawkular/metrics/tasks/impl/TaskSchedulerImpl.java
M task-queue/src/test/java/org/hawkular/metrics/tasks/impl/TaskSchedulerImplTest.java
A task-queue/src/test/java/org/hawkular/metrics/tasks/impl/TaskSubscriber.java
Log Message:
-----------
[HWKMETRICS-168] persist task to queue, update trigger api, and clean up tests
Commit: 33ada21faf7cd0cc909a1926fa0c6cdf8e830e45
https://github.com/hawkular/hawkular-metrics/commit/33ada21faf7cd0cc909a1...
Author: John Sanda <jsanda(a)redhat.com>
Date: 2015-08-02 (Sun, 02 Aug 2015)
Changed paths:
M schema-manager/src/main/resources/schema.cql
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
M task-queue/src/main/java/org/hawkular/metrics/tasks/impl/TaskSchedulerImpl.java
M task-queue/src/main/java/org/hawkular/metrics/tasks/impl/TaskServiceImpl.java
M task-queue/src/test/java/org/hawkular/metrics/tasks/BaseITest.java
M task-queue/src/test/java/org/hawkular/metrics/tasks/impl/LeaseServiceITest.java
M task-queue/src/test/java/org/hawkular/metrics/tasks/impl/TaskSchedulerImplTest.java
M task-queue/src/test/java/org/hawkular/metrics/tasks/impl/TaskServiceITest.java
Log Message:
-----------
[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.
Commit: 690fa38f779a913e0f3a9851b3c8d54faed10a2a
https://github.com/hawkular/hawkular-metrics/commit/690fa38f779a913e0f3a9...
Author: John Sanda <jsanda(a)redhat.com>
Date: 2015-08-02 (Sun, 02 Aug 2015)
Changed paths:
M pom.xml
M schema-manager/src/main/resources/schema.cql
M task-queue/src/main/java/org/hawkular/metrics/tasks/api/RepeatingTrigger.java
M task-queue/src/main/java/org/hawkular/metrics/tasks/api/TaskScheduler.java
M task-queue/src/main/java/org/hawkular/metrics/tasks/api/Trigger.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/Queries.java
M task-queue/src/main/java/org/hawkular/metrics/tasks/impl/Task2Impl.java
M task-queue/src/main/java/org/hawkular/metrics/tasks/impl/TaskSchedulerImpl.java
M task-queue/src/test/java/org/hawkular/metrics/tasks/BaseITest.java
M task-queue/src/test/java/org/hawkular/metrics/tasks/impl/TaskSchedulerImplTest.java
M task-queue/src/test/java/org/hawkular/metrics/tasks/impl/TaskSubscriber.java
M task-queue/src/test/resources/log4j.xml
Log Message:
-----------
[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.
Commit: c4d3ec5664665072f09ef2bf0622ebdb8cacaca7
https://github.com/hawkular/hawkular-metrics/commit/c4d3ec5664665072f09ef...
Author: John Sanda <jsanda(a)redhat.com>
Date: 2015-08-02 (Sun, 02 Aug 2015)
Changed paths:
M task-queue/src/main/java/org/hawkular/metrics/tasks/impl/TaskSchedulerImpl.java
M task-queue/src/test/java/org/hawkular/metrics/tasks/impl/TaskSchedulerImplTest.java
M task-queue/src/test/java/org/hawkular/metrics/tasks/impl/TaskSubscriber.java
Log Message:
-----------
[HWKMETRICS-168] handle exceptions thrown by tasks
Commit: 411e6daaac77ce2896e7d981ee7a25cc0b82588a
https://github.com/hawkular/hawkular-metrics/commit/411e6daaac77ce2896e7d...
Author: John Sanda <jsanda(a)redhat.com>
Date: 2015-08-02 (Sun, 02 Aug 2015)
Changed paths:
M schema-manager/src/main/resources/schema.cql
M task-queue/src/main/java/org/hawkular/metrics/tasks/api/RepeatingTrigger.java
M task-queue/src/main/java/org/hawkular/metrics/tasks/impl/TaskSchedulerImpl.java
M task-queue/src/test/java/org/hawkular/metrics/tasks/impl/TaskSchedulerImplTest.java
Log Message:
-----------
[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.
Commit: 617ce0c861bb03ca50a28593263513ad117df8e2
https://github.com/hawkular/hawkular-metrics/commit/617ce0c861bb03ca50a28...
Author: John Sanda <jsanda(a)redhat.com>
Date: 2015-08-02 (Sun, 02 Aug 2015)
Changed paths:
M schema-manager/src/main/resources/schema.cql
A task-queue/src/main/java/org/hawkular/metrics/tasks/api/SingleExecutionTrigger.java
M task-queue/src/main/java/org/hawkular/metrics/tasks/api/Task2.java
M task-queue/src/main/java/org/hawkular/metrics/tasks/impl/Queries.java
M task-queue/src/main/java/org/hawkular/metrics/tasks/impl/Task2Impl.java
M task-queue/src/main/java/org/hawkular/metrics/tasks/impl/TaskSchedulerImpl.java
M task-queue/src/test/java/org/hawkular/metrics/tasks/impl/TaskSchedulerITest.java
M task-queue/src/test/java/org/hawkular/metrics/tasks/impl/TaskSchedulerImplTest.java
M task-queue/src/test/java/org/hawkular/metrics/tasks/impl/TaskSubscriber.java
Log Message:
-----------
[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.
Commit: 83852e6482626867a60c523071d2eaf03bd9370b
https://github.com/hawkular/hawkular-metrics/commit/83852e6482626867a60c5...
Author: John Sanda <jsanda(a)redhat.com>
Date: 2015-08-02 (Sun, 02 Aug 2015)
Changed paths:
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
M task-queue/src/test/java/org/hawkular/metrics/tasks/impl/TaskSchedulerITest.java
Log Message:
-----------
[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.
Commit: 1cd811a3da699117bf2fa409bc3992e623fcda17
https://github.com/hawkular/hawkular-metrics/commit/1cd811a3da699117bf2fa...
Author: John Sanda <jsanda(a)redhat.com>
Date: 2015-08-02 (Sun, 02 Aug 2015)
Changed paths:
M task-queue/src/main/java/org/hawkular/metrics/tasks/api/RepeatingTrigger.java
M task-queue/src/main/java/org/hawkular/metrics/tasks/impl/TaskSchedulerImpl.java
M task-queue/src/test/java/org/hawkular/metrics/tasks/impl/TaskSchedulerITest.java
Log Message:
-----------
[HWKMETRICS-168] more tests
Commit: a6db24619ea7ae17a98b564a82ac9464b6e6a222
https://github.com/hawkular/hawkular-metrics/commit/a6db24619ea7ae17a98b5...
Author: John Sanda <jsanda(a)redhat.com>
Date: 2015-08-02 (Sun, 02 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/DataAccessImpl.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
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 task-queue/src/main/java/org/hawkular/metrics/tasks/api/RepeatingTrigger.java
M task-queue/src/main/java/org/hawkular/metrics/tasks/api/SingleExecutionTrigger.java
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
M task-queue/src/test/java/org/hawkular/metrics/tasks/impl/TaskSchedulerITest.java
R task-queue/src/test/java/org/hawkular/metrics/tasks/impl/TaskSchedulerImplTest.java
Log Message:
-----------
[HWKMETRICS-168] get RatesITest passing again
Commit: 345e5ed69faf7c49f99a5e7b6bf52fd87dd92604
https://github.com/hawkular/hawkular-metrics/commit/345e5ed69faf7c49f99a5...
Author: John Sanda <jsanda(a)redhat.com>
Date: 2015-08-02 (Sun, 02 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/MetricsServiceImpl.java
R core/metrics-core-impl/src/main/java/org/hawkular/metrics/core/impl/TaskTypes.java
M core/metrics-core-impl/src/test/java/org/hawkular/metrics/core/impl/RatesITest.java
R task-queue/src/main/java/org/hawkular/metrics/tasks/api/Task.java
R task-queue/src/main/java/org/hawkular/metrics/tasks/api/TaskExecutionException.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
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
R task-queue/src/main/java/org/hawkular/metrics/tasks/impl/TaskServiceImpl.java
R task-queue/src/test/java/org/hawkular/metrics/tasks/impl/LeaseServiceITest.java
R task-queue/src/test/java/org/hawkular/metrics/tasks/impl/TaskServiceITest.java
Log Message:
-----------
[HWKMETRICS-168] removing obsolete classes
Commit: 064da5a0991a339750e59470981d2e0b5c48d502
https://github.com/hawkular/hawkular-metrics/commit/064da5a0991a339750e59...
Author: John Sanda <jsanda(a)redhat.com>
Date: 2015-08-03 (Mon, 03 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/DataAccessImpl.java
M core/metrics-core-impl/src/main/java/org/hawkular/metrics/core/impl/GenerateRate.java
M core/metrics-core-impl/src/test/java/org/hawkular/metrics/core/impl/RatesITest.java
M rest-tests/src/test/groovy/org/hawkular/metrics/rest/CountersITest.groovy
M task-queue/src/test/java/org/hawkular/metrics/tasks/impl/TaskSchedulerITest.java
Log Message:
-----------
[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.
Compare: https://github.com/hawkular/hawkular-metrics/compare/d3525aa22616...064da...
10 years, 2 months
[hawkular/hawkular-metrics] 7f8037: [HWKMETRICS-185] Duplicate application configurati...
by Stefan Negrea
Branch: refs/heads/HWKMETRICS-185
Home: https://github.com/hawkular/hawkular-metrics
Commit: 7f80372a65fb6f8bc6b1f895bfd115017bbbc249
https://github.com/hawkular/hawkular-metrics/commit/7f80372a65fb6f8bc6b1f...
Author: Stefan Negrea <snegrea(a)redhat.com>
Date: 2015-08-03 (Mon, 03 Aug 2015)
Changed paths:
A api/metrics-api-jaxrs-1.1/src/main/java/org/hawkular/metrics/api/jaxrs/config/Configurable.java
A api/metrics-api-jaxrs-1.1/src/main/java/org/hawkular/metrics/api/jaxrs/config/ConfigurableProducer.java
A api/metrics-api-jaxrs-1.1/src/main/java/org/hawkular/metrics/api/jaxrs/config/ConfigurationKey.java
A api/metrics-api-jaxrs-1.1/src/main/java/org/hawkular/metrics/api/jaxrs/config/ConfigurationProperty.java
Log Message:
-----------
[HWKMETRICS-185] Duplicate application configuration classes.
Commit: c054c57af0e119fc5735ba82031a1e99de94731a
https://github.com/hawkular/hawkular-metrics/commit/c054c57af0e119fc5735b...
Author: Stefan Negrea <snegrea(a)redhat.com>
Date: 2015-08-03 (Mon, 03 Aug 2015)
Changed paths:
A api/metrics-api-jaxrs-1.1/src/main/java/org/hawkular/metrics/api/jaxrs/util/Eager.java
A api/metrics-api-jaxrs-1.1/src/main/java/org/hawkular/metrics/api/jaxrs/util/EagerExtension.java
Log Message:
-----------
[HWKMETRICS-185] Port over the eager extension classes.
Commit: 88ca83bd6f89dd210a51e30037eadee2cde28f13
https://github.com/hawkular/hawkular-metrics/commit/88ca83bd6f89dd210a51e...
Author: Stefan Negrea <snegrea(a)redhat.com>
Date: 2015-08-03 (Mon, 03 Aug 2015)
Changed paths:
M api/metrics-api-jaxrs-1.1/pom.xml
A api/metrics-api-jaxrs-1.1/src/main/java/org/hawkular/metrics/api/jaxrs/HawkularMetricsRestApp.java
A api/metrics-api-jaxrs-1.1/src/main/java/org/hawkular/metrics/api/jaxrs/MetricsServiceLifecycle.java
M api/metrics-api-jaxrs-1.1/src/main/java/org/hawkular/metrics/api/jaxrs/filter/MetricsServiceStateFilter.java
M api/metrics-api-jaxrs-1.1/src/main/java/org/hawkular/metrics/api/jaxrs/filter/TenantFilter.java
Log Message:
-----------
[HWKMETRICS-185] Migrate the metrics server lifecycle manager and general jax-rs application entry-point.
Compare: https://github.com/hawkular/hawkular-metrics/compare/35a152b07455...88ca8...
10 years, 2 months
[hawkular/hawkular-bus] 17f2e6: put feed messages that come over websocket on the ...
by John Mazzitelli
Branch: refs/heads/mazz/binary-websocket
Home: https://github.com/hawkular/hawkular-bus
Commit: 17f2e6a5167d82b8b2dba6cd71534824ebbd8275
https://github.com/hawkular/hawkular-bus/commit/17f2e6a5167d82b8b2dba6cd7...
Author: John Mazzitelli <mazz(a)redhat.com>
Date: 2015-08-01 (Sat, 01 Aug 2015)
Changed paths:
M hawkular-feed-comm/feed-comm-war/src/main/java/org/hawkular/feedcomm/ws/Constants.java
M hawkular-feed-comm/feed-comm-war/src/main/java/org/hawkular/feedcomm/ws/MsgLogger.java
M hawkular-feed-comm/feed-comm-war/src/main/java/org/hawkular/feedcomm/ws/command/CommandContext.java
M hawkular-feed-comm/feed-comm-war/src/main/java/org/hawkular/feedcomm/ws/command/feed/ExecuteOperationResponseCommand.java
M hawkular-feed-comm/feed-comm-war/src/main/java/org/hawkular/feedcomm/ws/command/ui/ExecuteOperationCommand.java
A hawkular-feed-comm/feed-comm-war/src/main/java/org/hawkular/feedcomm/ws/mdb/ExecuteOperationResponseListener.java
M hawkular-feed-comm/feed-comm-war/src/main/java/org/hawkular/feedcomm/ws/server/ConnectedUIClients.java
M hawkular-feed-comm/feed-comm-war/src/main/java/org/hawkular/feedcomm/ws/server/FeedCommWebSocket.java
M hawkular-feed-comm/feed-comm-war/src/main/java/org/hawkular/feedcomm/ws/server/FeedListenerGenerator.java
M hawkular-feed-comm/feed-comm-war/src/main/java/org/hawkular/feedcomm/ws/server/UIClientCommWebSocket.java
A hawkular-feed-comm/feed-comm-war/src/main/java/org/hawkular/feedcomm/ws/server/UIClientListenerGenerator.java
Log Message:
-----------
put feed messages that come over websocket on the bus so ui clients connected to other kettles can get it
right now, we key off session ID, but in future we'll probably need a request ID
10 years, 2 months