[
https://issues.apache.org/jira/browse/OOZIE-2175?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14369891#comment-14369891
]
Purshotam Shah commented on OOZIE-2175:
---------------------------------------
{quote}
Robert Kanter, do you recall why we did it this way? Is it a valid bug?
{quote}
It is a valid bug, we should never create more actions then mat throttle, in
one materialization cycle.
This can cause multiple issues, queueing lots of inputcheck command,
registering lot of SLA operation which can cause SLA queue to full.
Lots of inputcheck command means oozie will be mostly doing input check and
hence other command will be reject ( as queue might be full).
This can bring down the system, unless we go and remove all those entries from
DB manually.
And if we are creating, we need to make sure that they are not queued. we can
synchronously call some command to change coord action status to SKIPPED or
while creating action itself we can change the coord action status and not
queue any input-check command ( this may still cause SLA queue issue).
Note : we don't have check on mat throttle, user can still specify large
throttle value, which can cause system to go down.
> Coord job with execution order LAST_ONLY/NONE can create enormous number of
> coord actions
> -----------------------------------------------------------------------------------------
>
> Key: OOZIE-2175
> URL: https://issues.apache.org/jira/browse/OOZIE-2175
> Project: Oozie
> Issue Type: Bug
> Reporter: Purshotam Shah
>
> Coord job with execution order LAST_ONLY/NONE doesn't respect Mat Throttling
> and can create enormous number of coord action.
> If starttime is 2013 and current time is 2105 and job frequency is hourly,
> CoordMaterializeTransitionXCommand can create coord actions >10K in one
> materialization cycle.
> {code}
> // If LAST_ONLY and all materialization is in the past, ignore
> maxActionsToBeCreated
> boolean ignoreMaxActions =
>
> (coordJob.getExecutionOrder().equals(CoordinatorJob.Execution.LAST_ONLY) ||
>
> coordJob.getExecutionOrder().equals(CoordinatorJob.Execution.NONE))
> && endMatdTime.before(new Date());
> while (effStart.compareTo(end) < 0 && (ignoreMaxActions ||
> maxActionToBeCreated-- > 0)) {
> if (pause != null && effStart.compareTo(pause) >= 0) {
> break;
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)