6/4/2017 11:44:03 AM
to the intellij's guide.
* Users should be able to use import code style features instead.
* Advised against turning on "Remove unused suppress warning
annotation" option in the save actions plugin since it seems to be
unreliable.
|
6/3/2017 7:40:55 PM
in MockExecutorLoader: it shouldn't modify the state of actual flows, so make a clone of the flows, too.
Also log job logs in MockExecutorLoader instead of discarding them, so that it's possible to debug failures in tests.
The problem was this (originally revealed when FlowRunnerTest still used this mock class instead of a Mockito mock):
MockExecutorLoader kept a handle to the actual ExecutableFlow instance
MockExecutorLoader.updateExecutableFlow set the job statuses based on the current flow status, which is not synchronized with the job runner threads
So this wrote an old job status over the newer one in ExecutableNode
Stacktrace for that:
job4: setStatus SUCCEEDED -> QUEUED
at azkaban.executor.ExecutableNode.setStatus(ExecutableNode.java:141)
at azkaban.executor.ExecutableNode.applyUpdateObject(ExecutableNode.java:398)
at azkaban.executor.ExecutableFlowBase.applyUpdateObject(ExecutableFlowBase.java:352)
at azkaban.executor.ExecutableFlowBase.applyUpdateObject(ExecutableFlowBase.java:369)
at azkaban.executor.MockExecutorLoader.updateExecutableFlow(MockExecutorLoader.java:120)
at azkaban.execapp.FlowRunner.updateFlow(FlowRunner.java:322)
at azkaban.execapp.FlowRunner.updateFlow(FlowRunner.java:316)
at azkaban.execapp.FlowRunner.progressGraph(FlowRunner.java:552)
at azkaban.execapp.FlowRunner.runFlow(FlowRunner.java:413)
at azkaban.execapp.FlowRunner.doRun(FlowRunner.java:238)
at azkaban.execapp.FlowRunner.run(FlowRunner.java:215)
Overlapping updates by 2 different threads could look something like this:
2017/05/24 12:20:54.695 +0300 INFO [JobRunner-job3-1] [ExecutableNode] job4: applyUpdateObject: RUNNING-> QUEUED
2017/05/24 12:20:55.700 +0300 INFO [JobRunner-job4-1] [JobRunner] job4: changeStatus: QUEUED -> SUCCEEDED
2017/05/24 12:20:55.701 +0300 INFO [FlowRunner-exec-1] [ExecutableNode] job4: applyUpdateObject: SUCCEEDED-> QUEUED
Background discussion at #1105.
|
6/3/2017 7:27:46 PM
warnings reported by the intellij IDE
* Switch to FileUtils.forceMkdir
This will do the error checking.
* Inline the flowName parameter instead of suppress the warning
|
6/3/2017 6:29:25 PM
(#1146)
Issue: The javadoc of the FlowRunnerTest2 class uses ascii art to describe the DAG. When intellij auto format runs, it renders the art incorrectly. Fix: Wrapped the parts affected in <pre> </pre> blocks.
|
|
|
|
6/1/2017 3:52:46 PM
the entire codebase excluding files under development based on our coding style
reorganize the order of import
rearrange member methods
also leverage save action plugin to refactor code(https://github.com/dubreuia/intellij-plugin-save-actions):
Add final to local variable
Add final to field
Remove explicit generic type for diamond
Qualify field access with this
Remove unused suppress warning annotation
Remove final from private method
Remove unnecessary semicolon
Add missing @override annotations
|
6/1/2017 3:20:21 PM
3.25.1
(#1139)
In this patch, I added two method setTriggerCondition and setExpireCondition to the Trigger Class. The reason behind is that one of our products relying on Azkaban library needs to modify Trigger object by inserting newly constructed ExpireCondition.
|
6/1/2017 2:41:52 PM
intellij plugin save actions
|