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-1497] Reduce the number of calls on FlowSpec initialization where possible,… #3340
Conversation
Codecov Report
@@ Coverage Diff @@
## master #3340 +/- ##
============================================
- Coverage 46.54% 46.54% -0.01%
- Complexity 10136 10137 +1
============================================
Files 2051 2052 +1
Lines 79547 79563 +16
Branches 8880 8882 +2
============================================
+ Hits 37027 37030 +3
- Misses 39091 39102 +11
- Partials 3429 3431 +2
Continue to review full report at Codecov.
|
… and configToProperties/vice versa
7181b29
to
4e38fdc
Compare
@arjun4084346 @jack-moseley @umustafi could you take a look? |
gobblin-service/src/main/java/org/apache/gobblin/service/modules/restli/FlowConfigUtils.java
Outdated
Show resolved
Hide resolved
gobblin-utility/src/main/java/org/apache/gobblin/util/PropertiesUtils.java
Outdated
Show resolved
Hide resolved
minor comments to simply things. LGTM otherwise. good changes. maybe we should get rid of configAsProperties entirely. but that may need more changes. |
@arjun4084346 yea we should look into configAsProperties especially at the rate that GaaS is growing at. Would require some refactoring around some legacy classes and probably more conversions from propertiesToConfig. However since those would be short-lived compared to FlowSpecs it would still be an overall memory improvement |
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.
These replacements look good!
...e/src/main/java/org/apache/gobblin/service/modules/scheduler/GobblinServiceJobScheduler.java
Outdated
Show resolved
Hide resolved
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.
A minor comment.
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.
+1.
…where possible,… (apache#3340) * Reduce the number of calls on FlowSpec initialization where possible, and configToProperties/vice versa * address review * Address comments
…where possible,… (apache#3340) * Reduce the number of calls on FlowSpec initialization where possible, and configToProperties/vice versa * address review * Address comments
… and configToProperties/vice versa
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
FlowSpecs contain both configs and property fields that duplicate the same key/value information, however there are slight differences with properties being mutable, configs being type-safe, and legacy code being compatible with properties but not configs.
As such, FlowSpec creation and configToProperties are memory expensive operations at scale, and we should aim to minimize them as much as possible.
Tests
Commits