-
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
Add predownload functionality to Pinot #14686
base: master
Are you sure you want to change the base?
Add predownload functionality to Pinot #14686
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #14686 +/- ##
============================================
+ Coverage 61.75% 64.01% +2.26%
- Complexity 207 1608 +1401
============================================
Files 2436 2711 +275
Lines 133233 151443 +18210
Branches 20636 23353 +2717
============================================
+ Hits 82274 96952 +14678
- Misses 44911 47262 +2351
- Partials 6048 7229 +1181
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
5486191
to
73e77d2
Compare
73e77d2
to
e91a0a3
Compare
* specific language governing permissions and limitations | ||
* under the License. | ||
*/ | ||
package org.apache.pinot.tools.predownload; |
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 the goal is to use this predownload feature in large scale deployments then I don't think putting this in pinot-tools is the right approach. Ideally such deployments should not have a dependency on pinot-tools. pinot-tools mainly contains administrative and utility functions, and brings in a ton of dependencies.
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 the suggestions. Do you have any recommended destinations? How about putting directly into pinot-server pkg?
feature
performance
#14592
Add a pre-download feature to enable "graceful" node replacement on Pinot. With this feature, during node replacement, admins would replace the old node (OD) to new node (NN) with the same instance id. Instead of bringing down the ON before starting up NN (which is required because there cannot be 2 nodes taking same helix id at the same time), admins could:
- pre-download fully succeed
- pre-download partially succeed but have retried enough times
- pre-download failed in non-retriable mode
- already waited for a max time period
With a successful pre-download, the Pinot node replacement could perform in the same way as a node restart. We could observe the downtime (referring to helix pending message values decrease to 0) reduce significantly.
(1h -> 10min in the attached case. Sometimes, it could be fully transparent if node load is not high.)