Uh oh!
There was an error while loading. Please reload this page.
[SPARK-37090][BUILD][3.2] Upgrade libthrift to 0.16.0 to avoid security vulnerabilities - #35646
[SPARK-37090][BUILD][3.2] Upgrade libthrift to 0.16.0 to avoid security vulnerabilities#35646wangyum wants to merge 7 commits into
Conversation
14:53:54.715 WARN org.apache.hadoop.util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable Exception in thread "HiveServer2-Handler-Pool: Thread-164" java.lang.NoClassDefFoundError: org/apache/thrift/transport/TFramedTransport | => hat java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:348) at org.apache.hadoop.hive.metastore.MetaStoreUtils.getClass(MetaStoreUtils.java:1708) at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(RetryingMetaStoreClient.java:131) at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(RetryingMetaStoreClient.java:104) at org.apache.hadoop.hive.ql.metadata.Hive.createMetaStoreClient(Hive.java:3607) at org.apache.hadoop.hive.ql.metadata.Hive.getMSC(Hive.java:3659) at org.apache.hadoop.hive.ql.metadata.Hive.getMSC(Hive.java:3639) at org.apache.hadoop.hive.ql.metadata.Hive.getAllFunctions(Hive.java:3901) at org.apache.hadoop.hive.ql.metadata.Hive.reloadFunctions(Hive.java:248) at org.apache.hadoop.hive.ql.metadata.Hive.registerAllFunctionsOnce(Hive.java:231) at org.apache.hadoop.hive.ql.metadata.Hive.<init>(Hive.java:395) at org.apache.hadoop.hive.ql.metadata.Hive.create(Hive.java:339) at org.apache.hadoop.hive.ql.metadata.Hive.getInternal(Hive.java:319) at org.apache.hadoop.hive.ql.metadata.Hive.get(Hive.java:288)
srowen
commented
Feb 25, 2022
Weird, is this running tests? I don't see the test workflow executed here. |
wangyum
commented
Feb 26, 2022
Triggered the test. |
srowen
commented
Feb 26, 2022
Merged to 3.2 |
…ty vulnerabilities This is a backport of #34362 to branch 3.2. ### What changes were proposed in this pull request? This PR ported HIVE-21498, HIVE-25098 and upgraded libthrift to 0.16.0. The CHANGES list for libthrift 0.16.0 is available at: https://github.com/apache/thrift/blob/v0.16.0/CHANGES.md ### Why are the changes needed? To address [CVE-2020-13949](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13949). ### Does this PR introduce _any_ user-facing change? No. ### How was this patch tested? Existing test. Closes#35646 from wangyum/SPARK-37090-branch-3.2. Authored-by: Yuming Wang <yumwang@ebay.com> Signed-off-by: Sean Owen <srowen@gmail.com>
sunchao
commented
Mar 2, 2022
Hi @wangyum@srowen , after picking up this change and deploy it internally, we found an issue that seems to be related: still investigating what exactly caused the error though. The |
srowen
commented
Mar 2, 2022
This seems like a Hive version issue - what are you using? |
sunchao
commented
Mar 2, 2022
We are using the same Hive version 2.3.9 as in upstream Spark. I checked |
wangyum
commented
Mar 2, 2022
@sunchao Could we backport https://issues.apache.org/jira/browse/HIVE-21498 and https://issues.apache.org/jira/browse/HIVE-25098 to branch-2.3 and release a new version? |
Hi, @wangyum . Thanks, but, before releasing a new Hive, we need to revert libthrift 0.16.0 from master/3.2/3.1. Apache Spark 3.3 branch cut is planned on March 15th. We have only two weeks. Could you revert SPARK-37090 from master/3.2/3.1 as a committer and author, please? |
srowen
commented
Mar 2, 2022
(Could someone briefly explain the issue - what's different about where it fails than what the tests run? not something that can be just fixed-forward?) |
Hi, @srowen .
Given the size of Hive patches, I don't think we can afford these in Apache Spark 3.3/3.2/3.1. |
To be clear, I didn't take a look at those two huge patches, but I'm not sure those patches are able to land at Apache Hive 2.3.10. |
@srowen . For your questions, @sunchao found that
|
sunchao
commented
Mar 2, 2022
@wangyum I can give it a try but it could be challenging given the amount of changes in these two. It'll take some time and most likely won't be ready before Spark 3.3 release.
@srowen I think this scenario is not covered in any test in Spark - it requires a remote secure HMS but Spark Hive tests only use embedded HMS through Derby. |
Ya, @sunchao is right. To @srowen and @wangyum . SPARK-37090 is not released yet. I'm going to revert this from all branches. We can land this back. However, before that, at least, we need to make it sure that the following three new publicabstractTConfigurationgetConfiguration();
publicabstractvoidupdateKnownMessageSize(longsize) throwsTTransportException;
publicabstractvoidcheckReadBytesAvailable(longnumBytes) throwsTTransportException; |
dongjoon-hyun
commented
Mar 2, 2022
In addition, I added those two Hive 4.0 JIRA links as a blocker for SPARK-37090. |
Thank you @dongjoon-hyun This PR(apache/hive#3066) tries to backport HIVE-21498 and HIVE-25098 to branch-2.3. |
dongjoon-hyun
commented
Mar 2, 2022
Thank you, @wangyum ! |
dongjoon-hyun
commented
Mar 2, 2022
I added my comment on your Hive PR, too.
|
…ty vulnerabilities This is a backport of apache#34362 to branch 3.2. This PR ported HIVE-21498, HIVE-25098 and upgraded libthrift to 0.16.0. The CHANGES list for libthrift 0.16.0 is available at: https://github.com/apache/thrift/blob/v0.16.0/CHANGES.md To address [CVE-2020-13949](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13949). No. Existing test. Closesapache#35646 from wangyum/SPARK-37090-branch-3.2. Authored-by: Yuming Wang <yumwang@ebay.com> Signed-off-by: Sean Owen <srowen@gmail.com>
This is a backport of #34362 to branch 3.2.
What changes were proposed in this pull request?
This PR ported HIVE-21498, HIVE-25098 and upgraded libthrift to 0.16.0.
The CHANGES list for libthrift 0.16.0 is available at: https://github.com/apache/thrift/blob/v0.16.0/CHANGES.md
Why are the changes needed?
To address CVE-2020-13949.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
Existing test.