Good work, so can you give us a clue on the comparison contract violation? 
--
Jody Garnett

On Thu, May 15, 2014 at 8:27 PM, Robert Justice <rjustice@cloudera.com> wrote:
Hey guys..we figured it out.   There is definitely a comparison contract violation with the JTS libraries using JDK 1.7 due to the
move to default TimSort.   See my previous email which I think is awaiting moderation due to its length.   However, if you get 
into a situation running this out of a UDF in Hadoop Hive using JDK 1.7, the mistake we made was to 

set mapred.child.java.opts='-Djava.util.Arrays.useLegacyMergeSort=true -Xmx8g ..and so on';

If you put single quotes around the options, the useLegacyMergeSort=true does not take effect.   Simply remove the single 
quotes and JTS will no longer use TimSort in JDK 1.7 and should have the same memory footprint and performance as it did in 
JDK 1.6.   Also the comparison contract violation will not occur as MergeSort is not as strict.