You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Although the legacy Block Reader (BlockReaderRemote) is deprecated, it remains necessary for SOCKS proxy support—used in our product tests—since SOCKS sockets lack associated channels. To resolve this while transitioning to BlockReaderRemote2, we introduced a custom adaptor that creates a channel-backed SOCKS socket.
Changes introduced due to this
Added ForwardingSocket.java and SocksSocketFactory.java
Removed legacy config dfs.client.use.legacy.blockreader from core-site.xml
Removed Direct Dependency on Native libsnappy Library
The SnappyCodec now leverages the snappy-java library, eliminating reliance on native binaries.
Changes introduced due to this
Updated HadoopNative.java and TestHadoopNative.java
Removed native libsnappy binaries from shaded JARs for all architectures
Inlined KMSClientProvider from Hadoop 3.4.1
Since HADOOP-13988, KMSClientProvider
uses UserGroupInformation.getLoginUser(), which is incompatible with Presto’s execution model. We’ve inlined and adapted the class to avoid this issue.
Inlined LineReader.java from Hadoop 3.4.1
Inlined Filesystem.java from Hadoop 3.4.1
In PR #2396, FileSystem.Cache was made final, breaking PrestoFileSystemCache which extends it. To maintain compatibility, we forked the class and safely removed the final keyword.
JDK 17+ Compatibility Adjustments
To ensure compatibility with JDK 17+ and avoid reflective hacks:
• Exposed setCache() in the forked FileSystem class
• Removed the final modifier from the static CACHE field
These changes ensure Presto integrates cleanly with Hadoop’s FileSystem across modern JVM environments.
The text was updated successfully, but these errors were encountered:
Deprecation of Hadoop Config
dfs.client.use.legacy.blockreader
in Hadoop 3.xRelevant Jira: HDFS-10548
Although the legacy Block Reader (
BlockReaderRemote
) is deprecated, it remains necessary for SOCKS proxy support—used in our product tests—since SOCKS sockets lack associated channels. To resolve this while transitioning toBlockReaderRemote2
, we introduced a custom adaptor that creates a channel-backed SOCKS socket.Changes introduced due to this
ForwardingSocket.java
andSocksSocketFactory.java
dfs.client.use.legacy.blockreader
from core-site.xmlRemoved Direct Dependency on Native libsnappy Library
Relevant Jira: HADOOP-17125
The SnappyCodec now leverages the snappy-java library, eliminating reliance on native binaries.
Changes introduced due to this
HadoopNative.java
andTestHadoopNative.java
Inlined KMSClientProvider from Hadoop 3.4.1
Since HADOOP-13988, KMSClientProvider
uses
UserGroupInformation.getLoginUser()
, which is incompatible with Presto’s execution model. We’ve inlined and adapted the class to avoid this issue.Inlined
LineReader.java
from Hadoop 3.4.1Inlined
Filesystem.java
from Hadoop 3.4.1In PR #2396,
FileSystem.Cache
was made final, breakingPrestoFileSystemCache
which extends it. To maintain compatibility, we forked the class and safely removed the final keyword.JDK 17+ Compatibility Adjustments
To ensure compatibility with JDK 17+ and avoid reflective hacks:
• Exposed setCache() in the forked FileSystem class
• Removed the final modifier from the static CACHE field
These changes ensure Presto integrates cleanly with Hadoop’s FileSystem across modern JVM environments.
The text was updated successfully, but these errors were encountered: