-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Remove segments with empty download url in UpsertCompactionTask #12320
Conversation
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## master #12320 +/- ##
=============================================
- Coverage 61.65% 34.77% -26.88%
+ Complexity 1152 951 -201
=============================================
Files 2421 2345 -76
Lines 131872 128136 -3736
Branches 20346 19789 -557
=============================================
- Hits 81308 44563 -36745
- Misses 44600 80384 +35784
+ Partials 5964 3189 -2775
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
868ae31
to
88c45e4
Compare
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.
why would a download url be empty for a minion task?
There are scenarios when downloadURL can be empty (when deepstore upload timed out during segment commit or something). There are ways to enable retries on them but during that period the ZK config has downloadURL has empty. Now if the minion tasks runs during this period, the downloadURL is fetched as null and passed on to task-execution phase where it throws NPE. This patch doesn't allow these segments to go to the task-execution phase itself and stops them in task-generation phase. |
...ot/plugin/minion/tasks/realtimetoofflinesegments/RealtimeToOfflineSegmentsTaskGenerator.java
Outdated
Show resolved
Hide resolved
88c45e4
to
ad69e46
Compare
ad69e46
to
bde29a6
Compare
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.
lgtm. Ideally we could also emit a metric but I am okay without it as well.
@walterddr can you help approve / merge this PR? |
…he#12320) * Remove segments with empty download url in minion-tasks
bugfix
During UpsertCompactionTask generation, if segments are missing
downloadUrl
in ZK, even those are processed and pushed to task-execution phase. While downloading the file from deep-store, it throws an NPE and errors out.Removing these segments in the task-generation phase itself so that other relevant segments can be processed until
maxTasks
is reached.