-
Notifications
You must be signed in to change notification settings - Fork 750
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[GOBBLIN-1969] Increase Visibility for Flow Compilation Failures #3840
base: master
Are you sure you want to change the base?
[GOBBLIN-1969] Increase Visibility for Flow Compilation Failures #3840
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good in general! just a couple of clarifications...
@@ -200,6 +200,12 @@ public void configure(Binder binder) { | |||
ServiceConfigKeys.TOPOLOGYSPEC_FACTORY_KEY, ServiceConfigKeys.DEFAULT_TOPOLOGY_SPEC_FACTORY)); | |||
} | |||
|
|||
// Initialize flow catalog before DagManager is enabled so templates are loaded when initializing the DagManager |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not too familiar w/ Guice... but are you sure the call to binder.bind
is guaranteed to synchronously carryout "initializing the flow catalog" (so that finishes before the later call to binder.bind(DagManager.class)
)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The order does matter here but this is actually the wrong class initialization and won't fix the problem so leaving out of this PR.
...ervice/src/main/java/org/apache/gobblin/service/modules/orchestration/DagManagerMetrics.java
Outdated
Show resolved
Hide resolved
...ervice/src/main/java/org/apache/gobblin/service/modules/orchestration/DagManagerMetrics.java
Outdated
Show resolved
Hide resolved
flowMetadata.get(TimingEvent.FlowEventConstants.FLOW_GROUP_FIELD), | ||
flowMetadata.get(TimingEvent.FlowEventConstants.FLOW_NAME_FIELD)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if we do anything other than logging the value, I recommend a default (even when it should always be set). for logging only, it's safe enough to print null
, when that's what's actually returned.
Dear Gobblin maintainers,
Please accept this PR. I understand that it will not be reviewed until I have checked off all the steps below!
JIRA
Description
Empty or null dag execution plans created after compiling do not provide sufficient information as to when and why they occur.
Tests
Existing compilation tests work on flow specs manually constructed. Need more insight into why compilation fails on launch to write more useful unit tests.
Commits