Tag Archives: 7

升级到JDK 7后,Sort出现兼容性问题的解法。

在昨天的文章 TimSort in Java 7 中,我们讨论了升级到JDK 7后,Collection的sort方法,出现兼容性问题的原因。

究其根本,还是我们写的compare函数不够严谨。

本文主要针对Hadoop、Hive,从系统的部署、配置层面提出一些解法。

1、Hive

在执行前,指定JVM选项。
set mapreduce.map.java.opts=-Xmx2000m -Djava.util.Arrays.useLegacyMergeSort=true[......]

继续阅读

[转载]TimSort in Java 7

转载自:TimSort in Java 7

1. 为什么写这篇文章

这篇文章的根源是在产品中发现了一个诡异的bug:只能在产品环境下重现,在我的本地开发环境无法重现,而双方的代码没有任何区别。最后用remote debug的方法找到异常所在:
Exception in thread "main" java.lang.IllegalArgumentException: Comparison
method violates its general contrac[......]

继续阅读