-
Notifications
You must be signed in to change notification settings - Fork 10
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 support for Velox based workers to the Presto helm chart #6
base: main
Are you sure you want to change the base?
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.
@mceruzzi-denodo Thank you for the PR!
Please, have a look at minor comments I left.
Also, I would highly appreciate it if you could share minimal values.yaml
and scenario to test Velox setup.
values.zip I went through your comments and made the adjustment. I'm attaching a minimal values.yaml I just used to test the updated files. To test Prestissimo is in place and working after installing in your enviornment, you can: In my case, I have a catalog pointing to my hive metastore. I'm assuming you already have an environment for testing Presto, so you can just switch that catalog out for your own. Although, if you need anything more than what I provided, just let me know. |
@@ -33,7 +33,7 @@ data: | |||
resource-manager=true | |||
thrift.server.port=8081 | |||
thrift.server.ssl.enabled=false | |||
{{- .Values.config | nindent 4 }} | |||
{{- .Values.resourceManager.config | default .Values.config | nindent 4 }} |
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 like presto.version
should be added to configmap-resource-manager.yaml
, otherwise ha-cluster
mode doesn't work properly. Could you please check it?
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.
Yes, confirmed that presto.version is needed for the discovery server to properly detect the Resource Manager. I've Added this.
Also, I noticed we are calling the new version as Presto C++. should we keep the section in the charts as "velox" or should we rename it as "prestocpp" or similar?
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.
@tdcmeehan Do you have any strong opinion on how we should name it (velox
, prestocpp
, native
etc)? Otherwise let's keep it velox
for now.
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.
prestocpp
is the naming we're using and what we should adopt here.
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 to me. Thank you for your effort @mceruzzi-denodo !
@tdcmeehan Could you please have a look if configs and approach look ok?
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.
Just some nits
log.properties: |- | ||
{{- .Values.log | nindent 4 }} | ||
{{- if .Values.velox.enabled }} | ||
velox.properties.template: |- |
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.
Do we need this?
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.
removed
charts/presto/values.yaml
Outdated
pullPolicy: IfNotPresent | ||
tag: ~ | ||
# Velox properties | ||
config: |- |
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.
We've deprecated velox.properties, so let's just remove this: prestodb/presto#21962
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.
sure, removed.
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. Let's squash commits.
Tested with the following commands: helm install presto charts/presto helm install presto charts/presto --set prestoCpp.enabled=true helm install presto charts/presto --set prestoCpp.enabled=true --set mode=ha-cluster |
25741c1
to
25b6f06
Compare
ec0d942
to
8168904
Compare
@mceruzzi-denodo Sorry for the long review process, but I would like to discuss one more question before merging the PR. Now when we removed |
Description
This pull request adds optional support for using the helm chart with Velox workers. It adds a Velox tree to the values.yaml allowing the user to define if Velox is enabled. When enabled, the worker's image and relavant aspects of configuration are overridden by a customizable Velox based configuration. If Velox is disabled, the helm chart will continue to function as previously. Additionally, this pull request allows the presto configuation properties to be configurable seperately for the coordinator and workers as this can be useful for both Velox and non-Velox scenarios
Motivation and Context
Up until now the helm chart only supports regular Java based Presto. This means that users wanting to utilize Presto with Velox workers would need to find a different option for deployment. This PR seeks to resolve that by enabling Velox based workers to be deployed via the helm chart without impacting any of the existing functionality for those who prefer to use traditional java based workers.
Impact
Additional options in values.yaml
Test Plan
Deployed and ran queries on my AWS based cluster with velox.enabled both true and false checking the settings took affect. Also deployed with edited config.properties and velox.properties ensuring that edits were applied to the cluster.
Contributor checklist
Release Notes