You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@aurora.apache.org by Joshua Cohen <jc...@apache.org> on 2016/12/06 20:49:47 UTC

Review Request 54439: Add support for an mttu metric (median time to updated)

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/54439/
-----------------------------------------------------------

Review request for Aurora, Mehrdad Nurolahzade, Stephan Erb, and Zameer Manji.


Repository: aurora


Description
-------

The metric is calculated from the time of the `INSTANCE_UPDATING` event to the subsequent `ASSIGNED` event for the task with the same instance id that matches the desired task config from the update details.

My original approach to this involved converting `GroupType` and `AlgorithmType` from enums (which cannot be generic) to static classes (which, of course, can). This allowed me to avoid unnecessarily passing update details to the `calculate` method of `SlaAlgorithm` since it's ignored in all but the one, new case. However, that ended up being a lot of churn, and since it turns out we need both the task details and the update details to calculate this metric, I went with the below approach. If anyone feels strongly, I could go back to generics and create an container class that's gives access to both the tasks and update details.


Diffs
-----

  src/main/java/org/apache/aurora/scheduler/sla/MetricCalculator.java 9a56cda809fbbcb07e6dd12c7a0feb272542491d 
  src/main/java/org/apache/aurora/scheduler/sla/SlaAlgorithm.java 5d8d5bd8f705770979f284d26d2e932aabe707e5 
  src/main/java/org/apache/aurora/scheduler/sla/SlaGroup.java 6fbd4e962b3bb6eeb0831c810a321478fd52172c 
  src/test/java/org/apache/aurora/scheduler/sla/MetricCalculatorTest.java 953b65f28a585375e36e305dea6f9f94f99abc93 
  src/test/java/org/apache/aurora/scheduler/sla/SlaAlgorithmTest.java 2e719ac6b7aea86faa22deff2cc6b5f73135761c 
  src/test/java/org/apache/aurora/scheduler/sla/SlaModuleTest.java 341e346e794c9cf9a2789b8799f38fff900ec9b3 
  src/test/java/org/apache/aurora/scheduler/sla/SlaTestUtil.java 78f440f7546de9ed6842cb51db02b3bddc9a74ff 
  src/test/java/org/apache/aurora/scheduler/storage/testing/StorageTestUtil.java 21d26b3930ea965487b2dec48a48a98677ba022b 
  src/test/java/org/apache/aurora/scheduler/thrift/Fixtures.java 43e32eede27bbf26363a3fd1ca34ffe6f8c01a73 
  src/test/java/org/apache/aurora/scheduler/thrift/ReadOnlySchedulerImplTest.java 6d0e9bc6a8040393875d4f0a88e8db9d6926a88b 

Diff: https://reviews.apache.org/r/54439/diff/


Testing
-------

./gradlew build -Pq
e2e tests.


Thanks,

Joshua Cohen


Re: Review Request 54439: Add support for an mttu metric (median time to updated)

Posted by Aurora ReviewBot <wf...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/54439/#review158214
-----------------------------------------------------------



Master (91ddb07) is red with this patch.
  ./build-support/jenkins/build.sh

:commons:processResources
:commons:classes
:commons:jar
:compileJava/home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/java/org/apache/aurora/scheduler/storage/log/WriteAheadStorage.java:74: Note: Wrote forwarder org.apache.aurora.scheduler.storage.log.WriteAheadStorageForwarder
@Forward({
^
Note: Writing file:/home/jenkins/jenkins-slave/workspace/AuroraBot/dist/classes/main/org/apache/aurora/common/args/apt/cmdline.arg.info.txt.2
Note: Writing file:/home/jenkins/jenkins-slave/workspace/AuroraBot/dist/classes/main/META-INF/compiler/resource-mappings/org.apache.aurora.common.args.apt.CmdLineProcessor

:generateBuildProperties
:processResources
:classes
:jar
:startScripts
:distTar
:distZip
:assemble
:compileJmhJavaNote: /home/jenkins/jenkins-slave/workspace/AuroraBot/src/jmh/java/org/apache/aurora/benchmark/fakes/FakeSchedulerDriver.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

:processJmhResources UP-TO-DATE
:jmhClasses
:checkstyleJmh
:jsHint
:checkstyleMain[ant:checkstyle] [ERROR] /home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/java/org/apache/aurora/scheduler/sla/SlaAlgorithm.java:21:8: Unused import - java.util.stream.Stream. [UnusedImports]
[ant:checkstyle] [ERROR] /home/jenkins/jenkins-slave/workspace/AuroraBot/src/main/java/org/apache/aurora/scheduler/sla/SlaAlgorithm.java:42:8: Unused import - org.apache.aurora.scheduler.storage.entities.IAssignedTask. [UnusedImports]
 FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':checkstyleMain'.
> Checkstyle rule violations were found. See the report at: file:///home/jenkins/jenkins-slave/workspace/AuroraBot/dist/reports/checkstyle/main.html

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 1 mins 13.85 secs


I will refresh this build result if you post a review containing "@ReviewBot retry"

- Aurora ReviewBot


On Dec. 6, 2016, 8:49 p.m., Joshua Cohen wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/54439/
> -----------------------------------------------------------
> 
> (Updated Dec. 6, 2016, 8:49 p.m.)
> 
> 
> Review request for Aurora, Mehrdad Nurolahzade, Stephan Erb, and Zameer Manji.
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> The metric is calculated from the time of the `INSTANCE_UPDATING` event to the subsequent `ASSIGNED` event for the task with the same instance id that matches the desired task config from the update details.
> 
> My original approach to this involved converting `GroupType` and `AlgorithmType` from enums (which cannot be generic) to static classes (which, of course, can). This allowed me to avoid unnecessarily passing update details to the `calculate` method of `SlaAlgorithm` since it's ignored in all but the one, new case. However, that ended up being a lot of churn, and since it turns out we need both the task details and the update details to calculate this metric, I went with the below approach. If anyone feels strongly, I could go back to generics and create an container class that's gives access to both the tasks and update details.
> 
> 
> Diffs
> -----
> 
>   src/main/java/org/apache/aurora/scheduler/sla/MetricCalculator.java 9a56cda809fbbcb07e6dd12c7a0feb272542491d 
>   src/main/java/org/apache/aurora/scheduler/sla/SlaAlgorithm.java 5d8d5bd8f705770979f284d26d2e932aabe707e5 
>   src/main/java/org/apache/aurora/scheduler/sla/SlaGroup.java 6fbd4e962b3bb6eeb0831c810a321478fd52172c 
>   src/test/java/org/apache/aurora/scheduler/sla/MetricCalculatorTest.java 953b65f28a585375e36e305dea6f9f94f99abc93 
>   src/test/java/org/apache/aurora/scheduler/sla/SlaAlgorithmTest.java 2e719ac6b7aea86faa22deff2cc6b5f73135761c 
>   src/test/java/org/apache/aurora/scheduler/sla/SlaModuleTest.java 341e346e794c9cf9a2789b8799f38fff900ec9b3 
>   src/test/java/org/apache/aurora/scheduler/sla/SlaTestUtil.java 78f440f7546de9ed6842cb51db02b3bddc9a74ff 
>   src/test/java/org/apache/aurora/scheduler/storage/testing/StorageTestUtil.java 21d26b3930ea965487b2dec48a48a98677ba022b 
>   src/test/java/org/apache/aurora/scheduler/thrift/Fixtures.java 43e32eede27bbf26363a3fd1ca34ffe6f8c01a73 
>   src/test/java/org/apache/aurora/scheduler/thrift/ReadOnlySchedulerImplTest.java 6d0e9bc6a8040393875d4f0a88e8db9d6926a88b 
> 
> Diff: https://reviews.apache.org/r/54439/diff/
> 
> 
> Testing
> -------
> 
> ./gradlew build -Pq
> e2e tests.
> 
> 
> Thanks,
> 
> Joshua Cohen
> 
>


Re: Review Request 54439: Add support for an mttu metric (median time to updated)

Posted by Aurora ReviewBot <wf...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/54439/#review158216
-----------------------------------------------------------


Ship it!




Master (91ddb07) is green with this patch.
  ./build-support/jenkins/build.sh

I will refresh this build result if you post a review containing "@ReviewBot retry"

- Aurora ReviewBot


On Dec. 6, 2016, 8:58 p.m., Joshua Cohen wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/54439/
> -----------------------------------------------------------
> 
> (Updated Dec. 6, 2016, 8:58 p.m.)
> 
> 
> Review request for Aurora, Mehrdad Nurolahzade, Stephan Erb, and Zameer Manji.
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> The metric is calculated from the time of the `INSTANCE_UPDATING` event to the subsequent `ASSIGNED` event for the task with the same instance id that matches the desired task config from the update details.
> 
> My original approach to this involved converting `GroupType` and `AlgorithmType` from enums (which cannot be generic) to static classes (which, of course, can). This allowed me to avoid unnecessarily passing update details to the `calculate` method of `SlaAlgorithm` since it's ignored in all but the one, new case. However, that ended up being a lot of churn, and since it turns out we need both the task details and the update details to calculate this metric, I went with the below approach. If anyone feels strongly, I could go back to generics and create an container class that's gives access to both the tasks and update details.
> 
> 
> Diffs
> -----
> 
>   src/main/java/org/apache/aurora/scheduler/sla/MetricCalculator.java 9a56cda809fbbcb07e6dd12c7a0feb272542491d 
>   src/main/java/org/apache/aurora/scheduler/sla/SlaAlgorithm.java 5d8d5bd8f705770979f284d26d2e932aabe707e5 
>   src/main/java/org/apache/aurora/scheduler/sla/SlaGroup.java 6fbd4e962b3bb6eeb0831c810a321478fd52172c 
>   src/test/java/org/apache/aurora/scheduler/sla/MetricCalculatorTest.java 953b65f28a585375e36e305dea6f9f94f99abc93 
>   src/test/java/org/apache/aurora/scheduler/sla/SlaAlgorithmTest.java 2e719ac6b7aea86faa22deff2cc6b5f73135761c 
>   src/test/java/org/apache/aurora/scheduler/sla/SlaModuleTest.java 341e346e794c9cf9a2789b8799f38fff900ec9b3 
>   src/test/java/org/apache/aurora/scheduler/sla/SlaTestUtil.java 78f440f7546de9ed6842cb51db02b3bddc9a74ff 
>   src/test/java/org/apache/aurora/scheduler/storage/testing/StorageTestUtil.java 21d26b3930ea965487b2dec48a48a98677ba022b 
>   src/test/java/org/apache/aurora/scheduler/thrift/Fixtures.java 43e32eede27bbf26363a3fd1ca34ffe6f8c01a73 
>   src/test/java/org/apache/aurora/scheduler/thrift/ReadOnlySchedulerImplTest.java 6d0e9bc6a8040393875d4f0a88e8db9d6926a88b 
> 
> Diff: https://reviews.apache.org/r/54439/diff/
> 
> 
> Testing
> -------
> 
> ./gradlew build -Pq
> e2e tests.
> 
> 
> Thanks,
> 
> Joshua Cohen
> 
>


Re: Review Request 54439: Add support for an mttu metric (median time to updated)

Posted by Joshua Cohen <jc...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/54439/
-----------------------------------------------------------

(Updated Dec. 6, 2016, 8:58 p.m.)


Review request for Aurora, Mehrdad Nurolahzade, Stephan Erb, and Zameer Manji.


Changes
-------

Remove unused imports.


Repository: aurora


Description
-------

The metric is calculated from the time of the `INSTANCE_UPDATING` event to the subsequent `ASSIGNED` event for the task with the same instance id that matches the desired task config from the update details.

My original approach to this involved converting `GroupType` and `AlgorithmType` from enums (which cannot be generic) to static classes (which, of course, can). This allowed me to avoid unnecessarily passing update details to the `calculate` method of `SlaAlgorithm` since it's ignored in all but the one, new case. However, that ended up being a lot of churn, and since it turns out we need both the task details and the update details to calculate this metric, I went with the below approach. If anyone feels strongly, I could go back to generics and create an container class that's gives access to both the tasks and update details.


Diffs (updated)
-----

  src/main/java/org/apache/aurora/scheduler/sla/MetricCalculator.java 9a56cda809fbbcb07e6dd12c7a0feb272542491d 
  src/main/java/org/apache/aurora/scheduler/sla/SlaAlgorithm.java 5d8d5bd8f705770979f284d26d2e932aabe707e5 
  src/main/java/org/apache/aurora/scheduler/sla/SlaGroup.java 6fbd4e962b3bb6eeb0831c810a321478fd52172c 
  src/test/java/org/apache/aurora/scheduler/sla/MetricCalculatorTest.java 953b65f28a585375e36e305dea6f9f94f99abc93 
  src/test/java/org/apache/aurora/scheduler/sla/SlaAlgorithmTest.java 2e719ac6b7aea86faa22deff2cc6b5f73135761c 
  src/test/java/org/apache/aurora/scheduler/sla/SlaModuleTest.java 341e346e794c9cf9a2789b8799f38fff900ec9b3 
  src/test/java/org/apache/aurora/scheduler/sla/SlaTestUtil.java 78f440f7546de9ed6842cb51db02b3bddc9a74ff 
  src/test/java/org/apache/aurora/scheduler/storage/testing/StorageTestUtil.java 21d26b3930ea965487b2dec48a48a98677ba022b 
  src/test/java/org/apache/aurora/scheduler/thrift/Fixtures.java 43e32eede27bbf26363a3fd1ca34ffe6f8c01a73 
  src/test/java/org/apache/aurora/scheduler/thrift/ReadOnlySchedulerImplTest.java 6d0e9bc6a8040393875d4f0a88e8db9d6926a88b 

Diff: https://reviews.apache.org/r/54439/diff/


Testing
-------

./gradlew build -Pq
e2e tests.


Thanks,

Joshua Cohen