Support allowing a user to control when feed preconditions are checked

Description

Our current trigger feed mechanism only attempts to check preconditions when a potential dependent feed has completed execution. Furthermore, the precondition is only checked if it contains at least one FeedExecutedSinceFeed metric. This is efficient because there are just a few metrics supplied by Kylo out of the box. This is very limiting though because it restricts when preconditions are composed of user-defined metrics supplied by a custom plugin and no FeedExecutedSinceFeed is used.

We should support a method whereby a user indicates when a precondition should be checked. This could be based on a schedule (for instance) rather than only when another feed completes execution. Since we already support special SLA-related annotations, perhaps one solution would be to add additional annotations which can be used to mark certain Metric classes as to how they are checked.

For instance, a @FeedExecDependant annotation on a metric could indicate that this metric depends on feed execution results. A @ScheduleDependant annotation would indicate that the metric depends on a set schedule. Our UI could then used these annotations to present to the user additional input fields that describe when a precondition should be checked. This additional metadata then be used to query which preconditions need to be check based specific activities occurring in Kylo.

Assignee

Unassigned

Reporter

Sean Felten

Labels

None

Reviewer

None

Components

Priority

Medium
Configure