Skip to content

[GOBBLIN-1439] Handle flow configs that cause compilation errors from being added and blocking scheduler#3273

Closed
Will-Lo wants to merge 5 commits intoapache:masterfrom
Will-Lo:handle-flowspec-compilation-errors
Closed

[GOBBLIN-1439] Handle flow configs that cause compilation errors from being added and blocking scheduler#3273
Will-Lo wants to merge 5 commits intoapache:masterfrom
Will-Lo:handle-flowspec-compilation-errors

Conversation

@Will-Lo
Copy link
Contributor

@Will-Lo Will-Lo commented May 1, 2021

Dear Gobblin maintainers,

Please accept this PR. I understand that it will not be reviewed until I have checked off all the steps below!
@aplex @arjun4084346 @jack-moseley @umustafi Please take a look

JIRA

Description

  • Here are some details about my PR, including screenshots (if applicable):
    FlowSpecs that fail to compile due to unexpected exceptions (e.g. NullPointerException) can cause the Job Scheduler to silently fail adding jobs.
    To fix the error we should first reject users from adding flowConfigs that cause compilation errors. Also, if encountering a flow that fails to compile, log it and continue scheduling the rest of the flows instead of silently failing with unscheduled jobs.

Tests

  • My PR adds the following unit tests OR does not need testing for this extremely good reason:
    Added unit tests mocking listener compilation errors

Commits

  • My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":
    1. Subject is separated from body by a blank line
    2. Subject is limited to 50 characters
    3. Subject does not end with a period
    4. Subject uses the imperative mood ("add", not "adding")
    5. Body wraps at 72 characters
    6. Body explains "what" and "why", not "how"

…multihop flow compilation) and prevent compilation errors from blocking flows from being scheduled
@Will-Lo Will-Lo changed the title [GOBBLIN-1439] Reject flow configs that cause compilation errors on listeners (e.g. … [GOBBLIN-1439] Handle flow configs that cause compilation errors from being added and blocking scheduler May 1, 2021
@codecov-commenter
Copy link

codecov-commenter commented May 1, 2021

Codecov Report

Merging #3273 (a714692) into master (a77250b) will decrease coverage by 37.47%.
The diff coverage is 0.00%.

Impacted file tree graph

@@             Coverage Diff              @@
##             master   #3273       +/-   ##
============================================
- Coverage     46.47%   8.99%   -37.48%     
+ Complexity     9996    1739     -8257     
============================================
  Files          2036    2037        +1     
  Lines         79200   79237       +37     
  Branches       8834    8838        +4     
============================================
- Hits          36809    7130    -29679     
- Misses        38971   71406    +32435     
+ Partials       3420     701     -2719     
Impacted Files Coverage Δ Complexity Δ
...ache/gobblin/runtime/spec_catalog/FlowCatalog.java 0.00% <0.00%> (-47.19%) 0.00 <0.00> (-17.00)
.../modules/scheduler/GobblinServiceJobScheduler.java 0.00% <0.00%> (-57.22%) 0.00 <0.00> (-25.00)
...c/main/java/org/apache/gobblin/util/FileUtils.java 0.00% <0.00%> (-100.00%) 0.00% <0.00%> (-4.00%)
...n/java/org/apache/gobblin/fork/CopyableSchema.java 0.00% <0.00%> (-100.00%) 0.00% <0.00%> (-2.00%)
...java/org/apache/gobblin/stream/ControlMessage.java 0.00% <0.00%> (-100.00%) 0.00% <0.00%> (-1.00%)
...va/org/apache/gobblin/dataset/DatasetResolver.java 0.00% <0.00%> (-100.00%) 0.00% <0.00%> (-3.00%)
...va/org/apache/gobblin/converter/EmptyIterable.java 0.00% <0.00%> (-100.00%) 0.00% <0.00%> (-1.00%)
...org/apache/gobblin/ack/BasicAckableForTesting.java 0.00% <0.00%> (-100.00%) 0.00% <0.00%> (-3.00%)
...n/java/org/apache/gobblin/salesforce/SfConfig.java 0.00% <0.00%> (-100.00%) 0.00% <0.00%> (-1.00%)
.../org/apache/gobblin/yarn/HelixMessageSubTypes.java 0.00% <0.00%> (-100.00%) 0.00% <0.00%> (-1.00%)
... and 1080 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a77250b...a714692. Read the comment docs.

@arjun4084346
Copy link
Contributor

a minor comment. lgtm otherwise

Copy link
Contributor

@sv2000 sv2000 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1. LGTM.

@asfgit asfgit closed this in 7018408 May 6, 2021
jhsenjaliya pushed a commit to jhsenjaliya/incubator-gobblin that referenced this pull request Jun 7, 2021
… being added and blocking scheduler

Closes apache#3273 from Will-Lo/handle-flowspec-
compilation-errors
@Will-Lo Will-Lo deleted the handle-flowspec-compilation-errors branch June 7, 2021 23:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants