Replies: 7 comments 6 replies
-
@mbasmanova @pedroerp waiting for your thoughts on this issue, any feedback would be highly appreciated, thanks! |
Beta Was this translation helpful? Give feedback.
-
CC: @majetideepak |
Beta Was this translation helpful? Give feedback.
-
@czentgr, can you elaborate on this point further? I believe the end goal is for Presto to be able to talk to an S3-like service behind a proxy. Do we have a similar requirement on the Presto Java side? How does the proxy configuration work there? |
Beta Was this translation helpful? Give feedback.
-
@czentgr thanks for the context. I feel we should implement 2) in Velox and 1) in Prestissimo. What do you think? |
Beta Was this translation helpful? Give feedback.
-
The environment variables (HTTP_PROXY and HTTPS_PROXY) provide a URI that contains the protocol, optionally a user and password, the IP of the proxy and the port for the proxy listener. For example, a configuration could look like this
The user and password are optional. To keep things simple, the hive config will contain the options such that it matches the S3 ClientConfiguration member. S3 ClientConfiguration:
New session properties:
Prestissimo will use the values from HTTP_PROXY or HTTPS_PROXY depending on the scheme configured by Unlike the Java API, the C++ API does not allow to specify a no-proxy list. Instead, Prestissimo parses the content of NO_PROXY and checks if it matches the When a S3 client is instatiated in Velox. |
Beta Was this translation helpful? Give feedback.
-
After working on the prototype some inconsistencies to the Java Presto behavior were noticed. Also having a fixed config would mean more changes in how the configs currently flow through Prestissimo and it was deemed to not match the Java behavior.
The default is |
Beta Was this translation helpful? Give feedback.
-
This is completed here #8574 |
Beta Was this translation helpful? Give feedback.
-
Hello,
currently, the AWS S3 client that is instantiated in the
S3FileSystem
.In many cases programs wishing to access internet resources support a configuration for a proxy. Hence for a deployment of Prestissimo in an environment that requires usage of a proxy to access external resources this is beneficial.
The AWS client itself supports client configuration to use a proxy:
https://sdk.amazonaws.com/cpp/api/LATEST/root/html/md_docs_2_client_configuration___parameters.html
However, a design choice was made to NOT honor the OS environment variables (on Linux) that are available for a system configuration: aws/aws-sdk-cpp#1049.
Therefore, any such configuration must be made explicitly in Prestissimo (and hence Velox as it implements the
S3FileSystem
).The proposal would be to
If we go with both options and both a re configured, the hive properties would override the OS level configuration.
OS level env variables would be HTTP_PROXY, HTTPS_PROXY, and NO_PROXY.
The hive configuration would likely affect Presto as well. But this is a separate discussion.
What are the thoughts of adding this to Velox?
Thanks!
Christian
Beta Was this translation helpful? Give feedback.
All reactions