-
Notifications
You must be signed in to change notification settings - Fork 53
Conversation
@bstadlbauer thanks so much for finding this issue, and more for submitting a fix! I think this will work, two things: |
Signed-off-by: Bernhard Stadlbauer <[email protected]>
Signed-off-by: Bernhard Stadlbauer <[email protected]>
3f7923b
to
15eb5a0
Compare
Codecov Report
@@ Coverage Diff @@
## master #363 +/- ##
==========================================
+ Coverage 62.62% 64.18% +1.56%
==========================================
Files 152 153 +1
Lines 12789 10441 -2348
==========================================
- Hits 8009 6702 -1307
+ Misses 4168 3125 -1043
- Partials 612 614 +2
Flags with carried forward coverage won't be shown. Click here to find out more.
|
Signed-off-by: Bernhard Stadlbauer <[email protected]>
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.
My nit all over flyte repos is to alphabetize import statements. I've seen place where the same package is imported under two different names, this would help mitigate these scenarios. Do you mind updating the added imports?
) | ||
|
||
const specialEncoderKey = "abcdefghijklmnopqrstuvwxyz123456" | ||
|
||
var base32Encoder = base32.NewEncoding(specialEncoderKey).WithPadding(base32.NoPadding) | ||
var emptyLiteralMap = core.LiteralMap{Literals: map[string]*core.Literal{}} |
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.
should this be defined in the hashing.go
file instead? I believe it's the only place it's being used right?
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.
Thanks for spotting - moved it over 👍 30ca164
Signed-off-by: Bernhard Stadlbauer <[email protected]>
Signed-off-by: Bernhard Stadlbauer <[email protected]>
@hamersaw Thanks for reviewing! Not being familiar with best practices in My main information source has been the google style guide.
The Given the above, it seems like as long as there are only two blocks separated by one space, imports should be ordered automatically (or otherwise fail CI). Does that sound about right? I've not run things assuming there Looking at other files, it seems like it's a bit of a wild west out there - probably an easy fix could be to just remove all blank lines in all |
@bstadlbauer re: imports - I try to stick with exactly as you have described.
Exactly.
And it drives me crazy! It's not a high priority item to clean all of this up (especially across repos), which is why it hasn't been done yet. I just try to keep it from getting worse. |
* Add input hash to workItemID Signed-off-by: Bernhard Stadlbauer <[email protected]> * Add test to ensure different IDs Signed-off-by: Bernhard Stadlbauer <[email protected]> * Cleanup `make lint` Signed-off-by: Bernhard Stadlbauer <[email protected]> * Move `emptyLiteralMap` to `hashing.go` Signed-off-by: Bernhard Stadlbauer <[email protected]> * Fix import ordering Signed-off-by: Bernhard Stadlbauer <[email protected]> --------- Signed-off-by: Bernhard Stadlbauer <[email protected]>
TL;DR
Fixes an issue with cache misses on subsequent runs of map tasks
Checkout flyteorg/flyte#3787 for the full issue description.
Type
Are all requirements met?
Complete description
At the moment, this adds the hashed inputs as suffix to the key. The hashed inputs implementation has been copied over from
generateArtifactTagName
(here) so in case we stick with this solution, we should probably refactor out intoflyteplugins
This PR also refactors the LiteralMap hashing function from propeller into flyteplugins
Tracking Issue
fixes flyteorg/flyte#3787