You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Sergey Shelukhin (JIRA)" <ji...@apache.org> on 2017/08/02 00:52:02 UTC

[jira] [Comment Edited] (HIVE-17133) NoSuchMethodError in Hadoop FileStatus.compareTo

    [ https://issues.apache.org/jira/browse/HIVE-17133?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16110072#comment-16110072 ] 

Sergey Shelukhin edited comment on HIVE-17133 at 8/2/17 12:51 AM:
------------------------------------------------------------------

The solution would be to upgrade to 2.8.2 once that is released. We'd always build with the old signature and thus support old and new versions but not the ones in the middle (need to verify that we do indeed refer to a method with old signature when building).
Thus, Hive will not support Hadoop 2.8.0 and 2.8.1.
The problem is if we release something referring to the new signature soon (or have already). We might need 2.2.1 and 2.3.1 if these were built against Hadoop 2.8.0/1, as far as I understand cc [~owen.omalley] [~pxiong]


was (Author: sershe):
The solution would be to upgrade to 2.8.2 once that is released. We'd always build with the old signature and thus support old and new versions but not the ones in the middle (need to verify that we do indeed refer to a method with old signature when building).
Thus, Hive will not support Hadoop 2.8.0 and 2.8.1.
The problem is if we release something referring to the new signature soon (or have already). We might need 2.2.1 and 2.3.0 if these were built against Hadoop 2.8.0/1, as far as I understand cc [~owen.omalley] [~pxiong]

> NoSuchMethodError in Hadoop FileStatus.compareTo
> ------------------------------------------------
>
>                 Key: HIVE-17133
>                 URL: https://issues.apache.org/jira/browse/HIVE-17133
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Rui Li
>
> The stack trace is:
> {noformat}
> Caused by: java.lang.NoSuchMethodError: org.apache.hadoop.fs.FileStatus.compareTo(Lorg/apache/hadoop/fs/FileStatus;)I
> 	at org.apache.hadoop.hive.ql.io.AcidUtils.lambda$getAcidState$0(AcidUtils.java:931)
> 	at java.util.TimSort.countRunAndMakeAscending(TimSort.java:355)
> 	at java.util.TimSort.sort(TimSort.java:234)
> 	at java.util.Arrays.sort(Arrays.java:1512)
> 	at java.util.ArrayList.sort(ArrayList.java:1454)
> 	at java.util.Collections.sort(Collections.java:175)
> 	at org.apache.hadoop.hive.ql.io.AcidUtils.getAcidState(AcidUtils.java:929)
> {noformat}
> I'm on Hive master and using Hadoop 2.7.2. The method signature in Hadoop 2.7.2 is:
> https://github.com/apache/hadoop/blob/release-2.7.2-RC2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileStatus.java#L336
> In Hadoop 2.8.0 it becomes:
> https://github.com/apache/hadoop/blob/release-2.8.0-RC3/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileStatus.java#L332
> I think that breaks binary compatibility.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)