|
|
8/16/2017 1:28:58 PM
"centerNode" function calls getTransformToElement(), which was removed from the SVG spec and also from browsers such as Chrome and Firefox, so the "Center" context menu button that appears when right-clicking in the graph view doesn't work. Fortunately it doesn't seem to use this call for anything so simply removing the line makes the button work again.
Tested by injecting the modified svg-graph.js as a Greasemonkey script in Firefox 55.0.1, and locally modifying the script in the debugger in Chrome 60.0.3112.90.
|
8/15/2017 7:07:34 PM
API implementation was missing from LocalStorage. Added it. Updated test.
|
8/15/2017 6:53:02 PM
(#1336)
activeJobRunners maintains all active job runners, so we should remove inactive job runners when job finishes. As a consequence, activeJobRunners will keep queuing up and querying activeJobRunners by job name will return invalid job runner. This PR fixes this issue.
|
8/15/2017 6:45:11 PM
the refactor before the actual changes.
|
8/15/2017 6:39:31 PM
local storage uses hash to create a filename. With the current code it generates weird characters in the file name. Updating the logic to the one similar with `HdfsStorage`. This fixes the filename issue.
Example old filename: 1/1-���ΰ�LJ�.����*�.zip
Example new filename: 1/1-c5e616ceb09bc787e52eb99bab8d2a8c.zip
|
8/15/2017 6:08:19 PM
API info. The pid is read from the pid file which is configurable via `azkaban.pid.filename`. By default this value is `currentpid`.
Example:
```
{ "version": "unknown", "pid": "69041", ...
}
```
|
8/14/2017 6:57:08 PM
PR #1325.
Instead of simply displaying an error message when assignUserDirOwnership fails, now it throws an Exception using the handleError method.
This is better because if the flow fails later due to unexpected permissions for the user then it would be hard to detect that the failure of assignUserDirOwnership is the root cause. Now the flow will fail quickly and be easier to diagnose.
|
8/11/2017 6:11:31 PM
now, Azkaban leverages the execute-as-user script so that users' jobs are run via a process of the user's creation instead of as the Azkaban process. This is really important because it restricts users from interfering with Azkaban or reading secure information that Azkaban holds.
While this script works well, it has a bug in which it doesn't remove the "azkaban" group from the users list of groups. This is not secure. It did have a side-effect though that should be kept: it allowed users to write to their /execution/<exec_id>/src directory. This is desired because it gives users the ability to cache temporary data on the executor between jobs in a flow.
This PR does two things:
It fixes the security bug in execute-as-user.c by calling the initgroups() function for the effective user.
It uses the execute-as-user executable to set up the /execution/<exec_id>/src directory so that its permissions allow the user to work within it . It also makes sure that this is done in a way that can be cleaned up later by the Azkaban thread. It does this by executing the command: chown <user>:azkaban
This particular change will be hard to test with unit testing, but it will easy to test within the integration testing suite (I discussed this with @jamiesjc). It can be done completely with two test:
The first one tries to write to the current working directory. If the flow concludes successfully (i.e. the file is successfully created), the test passes.
The second tries to perform an "improper" action reserved for members of the "azkaban" group. If the flow fails (i.e. the action cannot be performed), the test passes.
Together I believe this will give sufficient test coverage for this part of the code and each test should be quick (one job flows that should terminate in < 1 second)
|
8/11/2017 4:33:11 PM
plugin
2. make duplicate log construction logic an util method
|