You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by sz...@apache.org on 2014/12/12 00:59:11 UTC

svn commit: r1644795 - in /hive/trunk: ql/src/java/org/apache/hadoop/hive/ql/exec/ ql/src/java/org/apache/hadoop/hive/ql/io/orc/ ql/src/java/org/apache/hadoop/hive/ql/io/parquet/serde/ ql/src/java/org/apache/hadoop/hive/ql/optimizer/ ql/src/java/org/ap...

Author: szehon
Date: Thu Dec 11 23:59:10 2014
New Revision: 1644795

URL: http://svn.apache.org/r1644795
Log:
HIVE-9033 : Fix ordering differences due to Java8 (part 2) (Sergio Peña via Szehon)

Modified:
    hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/ExplainTask.java
    hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/io/orc/RecordReaderImpl.java
    hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/serde/AbstractParquetMapInspector.java
    hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/SimpleFetchOptimizer.java
    hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/MacroSemanticAnalyzer.java
    hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFMkCollectionEvaluator.java
    hive/trunk/ql/src/test/results/clientnegative/alter_partition_offline.q.out
    hive/trunk/ql/src/test/results/clientnegative/macro_unused_parameter.q.out
    hive/trunk/ql/src/test/results/clientpositive/orc_create.q.out
    hive/trunk/ql/src/test/results/clientpositive/parquet_array_null_element.q.out
    hive/trunk/ql/src/test/results/clientpositive/parquet_create.q.out
    hive/trunk/ql/src/test/results/clientpositive/parquet_decimal1.q.out
    hive/trunk/ql/src/test/results/clientpositive/parquet_map_null.q.out
    hive/trunk/ql/src/test/results/clientpositive/parquet_map_of_maps.q.out
    hive/trunk/ql/src/test/results/clientpositive/parquet_nested_complex.q.out
    hive/trunk/ql/src/test/results/clientpositive/windowing.q.out
    hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyMap.java

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/ExplainTask.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/ExplainTask.java?rev=1644795&r1=1644794&r2=1644795&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/ExplainTask.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/ExplainTask.java Thu Dec 11 23:59:10 2014
@@ -38,6 +38,7 @@ import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Set;
 import java.util.TreeMap;
+import java.util.LinkedHashMap;
 
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hive.metastore.api.FieldSchema;
@@ -95,7 +96,7 @@ public class ExplainTask extends Task<Ex
       switch (input.getType()) {
         case TABLE:
           Table table = input.getTable();
-          Map<String, String> tableInfo = new HashMap<String, String>();
+          Map<String, String> tableInfo = new LinkedHashMap<String, String>();
           tableInfo.put("tablename", table.getCompleteName());
           tableInfo.put("tabletype", table.getTableType().toString());
           if ((input.getParents() != null) && (!input.getParents().isEmpty())) {

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/io/orc/RecordReaderImpl.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/io/orc/RecordReaderImpl.java?rev=1644795&r1=1644794&r2=1644795&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/io/orc/RecordReaderImpl.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/io/orc/RecordReaderImpl.java Thu Dec 11 23:59:10 2014
@@ -28,6 +28,7 @@ import java.sql.Timestamp;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
+import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.TreeMap;
@@ -2132,9 +2133,9 @@ class RecordReaderImpl implements Record
       Map<Object, Object> result = null;
       if (valuePresent) {
         if (previous == null) {
-          result = new HashMap<Object, Object>();
+          result = new LinkedHashMap<Object, Object>();
         } else {
-          result = (HashMap<Object, Object>) previous;
+          result = (LinkedHashMap<Object, Object>) previous;
         }
         // for now just clear and create new objects
         result.clear();

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/serde/AbstractParquetMapInspector.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/serde/AbstractParquetMapInspector.java?rev=1644795&r1=1644794&r2=1644795&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/serde/AbstractParquetMapInspector.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/serde/AbstractParquetMapInspector.java Thu Dec 11 23:59:10 2014
@@ -14,6 +14,7 @@
 package org.apache.hadoop.hive.ql.io.parquet.serde;
 
 import java.util.HashMap;
+import java.util.LinkedHashMap;
 import java.util.Map;
 
 import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
@@ -65,7 +66,7 @@ public abstract class AbstractParquetMap
       }
 
       final Writable[] mapArray = ((ArrayWritable) mapContainer[0]).get();
-      final Map<Writable, Writable> map = new HashMap<Writable, Writable>();
+      final Map<Writable, Writable> map = new LinkedHashMap<Writable, Writable>();
 
       for (final Writable obj : mapArray) {
         final ArrayWritable mapObj = (ArrayWritable) obj;

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/SimpleFetchOptimizer.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/SimpleFetchOptimizer.java?rev=1644795&r1=1644794&r2=1644795&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/SimpleFetchOptimizer.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/SimpleFetchOptimizer.java Thu Dec 11 23:59:10 2014
@@ -24,6 +24,7 @@ import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.LinkedHashSet;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -269,7 +270,7 @@ public class SimpleFetchOptimizer implem
     private final Table table;
     private final SplitSample splitSample;
     private final PrunedPartitionList partsList;
-    private final HashSet<ReadEntity> inputs = new HashSet<ReadEntity>();
+    private final LinkedHashSet<ReadEntity> inputs = new LinkedHashSet<ReadEntity>();
     private final boolean onlyPruningFilter;
 
     // source table scan

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/MacroSemanticAnalyzer.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/MacroSemanticAnalyzer.java?rev=1644795&r1=1644794&r2=1644795&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/MacroSemanticAnalyzer.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/MacroSemanticAnalyzer.java Thu Dec 11 23:59:10 2014
@@ -26,6 +26,7 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 import java.util.Stack;
+import java.util.LinkedHashSet;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -122,7 +123,7 @@ public class MacroSemanticAnalyzer exten
       macroColNames.add(argument.getName());
       macroColTypes.add(colType);
     }
-    Set<String> expectedColumnNames = new HashSet<String>(macroColNames);
+    Set<String> expectedColumnNames = new LinkedHashSet<String>(macroColNames);
     if(!expectedColumnNames.equals(actualColumnNames)) {
       throw new SemanticException("Expected columns " + expectedColumnNames + " but found "
           + actualColumnNames);

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFMkCollectionEvaluator.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFMkCollectionEvaluator.java?rev=1644795&r1=1644794&r2=1644795&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFMkCollectionEvaluator.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFMkCollectionEvaluator.java Thu Dec 11 23:59:10 2014
@@ -21,7 +21,7 @@ package org.apache.hadoop.hive.ql.udf.ge
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.HashSet;
+import java.util.LinkedHashSet;
 import java.util.List;
 
 import org.apache.hadoop.hive.ql.metadata.HiveException;
@@ -92,7 +92,7 @@ public class GenericUDAFMkCollectionEval
       if (bufferType == BufferType.LIST){
         container = new ArrayList<Object>();
       } else if(bufferType == BufferType.SET){
-        container = new HashSet<Object>();
+        container = new LinkedHashSet<Object>();
       } else {
         throw new RuntimeException("Buffer type unknown");
       }

Modified: hive/trunk/ql/src/test/results/clientnegative/alter_partition_offline.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientnegative/alter_partition_offline.q.out?rev=1644795&r1=1644794&r2=1644795&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientnegative/alter_partition_offline.q.out (original)
+++ hive/trunk/ql/src/test/results/clientnegative/alter_partition_offline.q.out Thu Dec 11 23:59:10 2014
@@ -76,4 +76,4 @@ POSTHOOK: Input: default@alter_part_offl
 POSTHOOK: Input: default@alter_part_offline@year=1996/month=12
 POSTHOOK: Output: default@alter_part_offline@year=1996/month=10
 POSTHOOK: Output: default@alter_part_offline@year=1996/month=12
-FAILED: SemanticException [Error 10113]: Query against an offline table or partition Table alter_part_offline Partition year=1996/month=12
+FAILED: SemanticException [Error 10113]: Query against an offline table or partition Table alter_part_offline Partition year=1996/month=10

Modified: hive/trunk/ql/src/test/results/clientnegative/macro_unused_parameter.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientnegative/macro_unused_parameter.q.out?rev=1644795&r1=1644794&r2=1644795&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientnegative/macro_unused_parameter.q.out (original)
+++ hive/trunk/ql/src/test/results/clientnegative/macro_unused_parameter.q.out Thu Dec 11 23:59:10 2014
@@ -1 +1 @@
-FAILED: SemanticException Expected columns [y, x] but found [x]
+FAILED: SemanticException Expected columns [x, y] but found [x]

Modified: hive/trunk/ql/src/test/results/clientpositive/orc_create.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/orc_create.q.out?rev=1644795&r1=1644794&r2=1644795&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/orc_create.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/orc_create.q.out Thu Dec 11 23:59:10 2014
@@ -372,9 +372,9 @@ POSTHOOK: query: SELECT * from orc_creat
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@orc_create_complex
 #### A masked pattern was here ####
-line1	{"key12":"value12","key11":"value11","key13":"value13"}	["a","b","c"]	{"A":"one","B":"two"}
-line2	{"key21":"value21","key23":"value23","key22":"value22"}	["d","e","f"]	{"A":"three","B":"four"}
-line3	{"key33":"value33","key31":"value31","key32":"value32"}	["g","h","i"]	{"A":"five","B":"six"}
+line1	{"key11":"value11","key12":"value12","key13":"value13"}	["a","b","c"]	{"A":"one","B":"two"}
+line2	{"key21":"value21","key22":"value22","key23":"value23"}	["d","e","f"]	{"A":"three","B":"four"}
+line3	{"key31":"value31","key32":"value32","key33":"value33"}	["g","h","i"]	{"A":"five","B":"six"}
 PREHOOK: query: SELECT str from orc_create_complex
 PREHOOK: type: QUERY
 PREHOOK: Input: default@orc_create_complex
@@ -394,9 +394,9 @@ POSTHOOK: query: SELECT mp from orc_crea
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@orc_create_complex
 #### A masked pattern was here ####
-{"key12":"value12","key11":"value11","key13":"value13"}
-{"key21":"value21","key23":"value23","key22":"value22"}
-{"key33":"value33","key31":"value31","key32":"value32"}
+{"key11":"value11","key12":"value12","key13":"value13"}
+{"key21":"value21","key22":"value22","key23":"value23"}
+{"key31":"value31","key32":"value32","key33":"value33"}
 PREHOOK: query: SELECT lst from orc_create_complex
 PREHOOK: type: QUERY
 PREHOOK: Input: default@orc_create_complex

Modified: hive/trunk/ql/src/test/results/clientpositive/parquet_array_null_element.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/parquet_array_null_element.q.out?rev=1644795&r1=1644794&r2=1644795&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/parquet_array_null_element.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/parquet_array_null_element.q.out Thu Dec 11 23:59:10 2014
@@ -144,9 +144,9 @@ POSTHOOK: query: SELECT mp from parquet_
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@parquet_array_null_element
 #### A masked pattern was here ####
-{"key12":"value12","key11":"value11","key13":"value13"}
+{"key11":"value11","key12":"value12","key13":"value13"}
 NULL
-{"key12":null,"key11":"value11","key13":null}
+{"key11":"value11","key12":null,"key13":null}
 PREHOOK: query: SELECT * FROM parquet_array_null_element
 PREHOOK: type: QUERY
 PREHOOK: Input: default@parquet_array_null_element
@@ -155,6 +155,6 @@ POSTHOOK: query: SELECT * FROM parquet_a
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@parquet_array_null_element
 #### A masked pattern was here ####
-1	[null,7]	["CARRELAGE","MOQUETTE"]	{"key12":"value12","key11":"value11","key13":"value13"}
+1	[null,7]	["CARRELAGE","MOQUETTE"]	{"key11":"value11","key12":"value12","key13":"value13"}
 2	[null,null]	["CAILLEBOTIS",null]	NULL
-3	[null,42,null]	NULL	{"key12":null,"key11":"value11","key13":null}
+3	[null,42,null]	NULL	{"key11":"value11","key12":null,"key13":null}

Modified: hive/trunk/ql/src/test/results/clientpositive/parquet_create.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/parquet_create.q.out?rev=1644795&r1=1644794&r2=1644795&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/parquet_create.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/parquet_create.q.out Thu Dec 11 23:59:10 2014
@@ -148,9 +148,9 @@ POSTHOOK: query: SELECT mp from parquet_
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@parquet_create
 #### A masked pattern was here ####
-{"key12":"value12","key11":"value11","key13":"value13"}
-{"key21":"value21","key23":"value23","key22":"value22"}
-{"key33":"value33","key31":"value31","key32":"value32"}
+{"key11":"value11","key12":"value12","key13":"value13"}
+{"key21":"value21","key22":"value22","key23":"value23"}
+{"key31":"value31","key32":"value32","key33":"value33"}
 PREHOOK: query: SELECT lst from parquet_create
 PREHOOK: type: QUERY
 PREHOOK: Input: default@parquet_create

Modified: hive/trunk/ql/src/test/results/clientpositive/parquet_decimal1.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/parquet_decimal1.q.out?rev=1644795&r1=1644794&r2=1644795&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/parquet_decimal1.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/parquet_decimal1.q.out Thu Dec 11 23:59:10 2014
@@ -72,8 +72,8 @@ POSTHOOK: query: SELECT * FROM parq_dec_
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@parq_dec_comp
 #### A masked pattern was here ####
-[3.14,6.28,7.3]	{"k2":29.39,"k1":92.77}	{"i":5,"d":9.03}
-[12.4,1.33,0.34]	{"k4":29.09,"k2":2.79}	{"i":11,"d":0.03}
+[3.14,6.28,7.3]	{"k1":92.77,"k2":29.39}	{"i":5,"d":9.03}
+[12.4,1.33,0.34]	{"k2":2.79,"k4":29.09}	{"i":11,"d":0.03}
 PREHOOK: query: DROP TABLE dec_comp
 PREHOOK: type: DROPTABLE
 PREHOOK: Input: default@dec_comp

Modified: hive/trunk/ql/src/test/results/clientpositive/parquet_map_null.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/parquet_map_null.q.out?rev=1644795&r1=1644794&r2=1644795&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/parquet_map_null.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/parquet_map_null.q.out Thu Dec 11 23:59:10 2014
@@ -44,11 +44,11 @@ POSTHOOK: query: SELECT * FROM parquet_t
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@parquet_table
 #### A masked pattern was here ####
-{"key3":"val3","key4":null}
-{"key3":"val3","key4":null}
-{"key1":null,"key2":"val2"}
-{"key3":"val3","key4":null}
-{"key3":"val3","key4":null}
+{"key4":null,"key3":"val3"}
+{"key4":null,"key3":"val3"}
+{"key2":"val2","key1":null}
+{"key4":null,"key3":"val3"}
+{"key4":null,"key3":"val3"}
 PREHOOK: query: DROP TABLE avro_table
 PREHOOK: type: DROPTABLE
 PREHOOK: Input: default@avro_table

Modified: hive/trunk/ql/src/test/results/clientpositive/parquet_map_of_maps.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/parquet_map_of_maps.q.out?rev=1644795&r1=1644794&r2=1644795&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/parquet_map_of_maps.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/parquet_map_of_maps.q.out Thu Dec 11 23:59:10 2014
@@ -42,7 +42,7 @@ POSTHOOK: query: SELECT * FROM parquet_m
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@parquet_map_of_maps_copy
 #### A masked pattern was here ####
-{"b":{"b":-2,"a":-1},"a":{"b":1}}
+{"a":{"b":1},"b":{"a":-1,"b":-2}}
 PREHOOK: query: DROP TABLE parquet_map_of_maps
 PREHOOK: type: DROPTABLE
 PREHOOK: Input: default@parquet_map_of_maps

Modified: hive/trunk/ql/src/test/results/clientpositive/parquet_nested_complex.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/parquet_nested_complex.q.out?rev=1644795&r1=1644794&r2=1644795&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/parquet_nested_complex.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/parquet_nested_complex.q.out Thu Dec 11 23:59:10 2014
@@ -86,8 +86,8 @@ POSTHOOK: query: SELECT * FROM parquet_n
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@parquet_nested_complex
 #### A masked pattern was here ####
-2	[[[[[[[[[[[[[[[[[[[[[[[0,3,2]]]]]]]]]]]]]]]]]]]]]]]	[[[[[[[[[[[[[[[[[[[[[{"k3":"v3","k1":"v1"}]]]]]]]]]]]]]]]]]]]]]	[[[[[[[[[[[[[[[[[[[[[[{"s":"b","i":10}]]]]]]]]]]]]]]]]]]]]]]	2
-3	[[[[[[[[[[[[[[[[[[[[[[[0,1,2]]]]]]]]]]]]]]]]]]]]]]]	[[[[[[[[[[[[[[[[[[[[[{"k2":"v2","k1":"v1"}]]]]]]]]]]]]]]]]]]]]]	[[[[[[[[[[[[[[[[[[[[[[{"s":"a","i":10}]]]]]]]]]]]]]]]]]]]]]]	2
+2	[[[[[[[[[[[[[[[[[[[[[[[0,3,2]]]]]]]]]]]]]]]]]]]]]]]	[[[[[[[[[[[[[[[[[[[[[{"k1":"v1","k3":"v3"}]]]]]]]]]]]]]]]]]]]]]	[[[[[[[[[[[[[[[[[[[[[[{"s":"b","i":10}]]]]]]]]]]]]]]]]]]]]]]	2
+3	[[[[[[[[[[[[[[[[[[[[[[[0,1,2]]]]]]]]]]]]]]]]]]]]]]]	[[[[[[[[[[[[[[[[[[[[[{"k1":"v1","k2":"v2"}]]]]]]]]]]]]]]]]]]]]]	[[[[[[[[[[[[[[[[[[[[[[{"s":"a","i":10}]]]]]]]]]]]]]]]]]]]]]]	2
 PREHOOK: query: DROP TABLE nestedcomplex
 PREHOOK: type: DROPTABLE
 PREHOOK: Input: default@nestedcomplex

Modified: hive/trunk/ql/src/test/results/clientpositive/windowing.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/windowing.q.out?rev=1644795&r1=1644794&r2=1644795&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/windowing.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/windowing.q.out Thu Dec 11 23:59:10 2014
@@ -902,32 +902,32 @@ window w1 as (distribute by p_mfgr sort
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@part
 #### A masked pattern was here ####
-Manufacturer#1	almond antique burnished rose metallic	2	273.70217881648074	273.70217881648074	[34,2]	74912.8826888888	1.0	4128.782222222221
-Manufacturer#1	almond antique burnished rose metallic	2	258.10677784349235	258.10677784349235	[34,2,6]	66619.10876874991	0.811328754177887	2801.7074999999995
-Manufacturer#1	almond antique chartreuse lavender yellow	34	230.90151585470358	230.90151585470358	[34,2,6,28]	53315.51002399992	0.695639377397664	2210.7864
-Manufacturer#1	almond antique salmon chartreuse burlywood	6	202.73109328368946	202.73109328368946	[34,2,6,42,28]	41099.896184	0.630785977101214	2009.9536000000007
-Manufacturer#1	almond aquamarine burnished black steel	28	121.6064517973862	121.6064517973862	[34,6,42,28]	14788.129118750014	0.2036684720435979	331.1337500000004
-Manufacturer#1	almond aquamarine pink moccasin thistle	42	96.5751586416853	96.5751586416853	[6,42,28]	9326.761266666683	-1.4442181184933883E-4	-0.20666666666708502
-Manufacturer#2	almond antique violet chocolate turquoise	14	142.2363169751898	142.2363169751898	[2,40,14]	20231.169866666663	-0.49369526554523185	-1113.7466666666658
-Manufacturer#2	almond antique violet turquoise frosted	40	137.76306498840682	137.76306498840682	[2,25,40,14]	18978.662075	-0.5205630897335946	-1004.4812499999995
-Manufacturer#2	almond aquamarine midnight light salmon	2	130.03972279269132	130.03972279269132	[2,18,25,40,14]	16910.329504000005	-0.46908967495720255	-766.1791999999995
-Manufacturer#2	almond aquamarine rose maroon antique	25	135.55100986344584	135.55100986344584	[2,18,25,40]	18374.07627499999	-0.6091405874714462	-1128.1787499999987
-Manufacturer#2	almond aquamarine sandy cyan gainsboro	18	156.44019460768044	156.44019460768044	[2,18,25]	24473.534488888927	-0.9571686373491608	-1441.4466666666676
-Manufacturer#3	almond antique chartreuse khaki white	17	196.7742266885805	196.7742266885805	[17,19,14]	38720.09628888887	0.5557168646224995	224.6944444444446
-Manufacturer#3	almond antique forest lavender goldenrod	14	275.14144189852607	275.14144189852607	[17,1,19,14]	75702.81305	-0.6720833036576083	-1296.9000000000003
-Manufacturer#3	almond antique metallic orange dim	19	260.23473614412046	260.23473614412046	[17,1,19,14,45]	67722.117896	-0.5703526513979519	-2129.0664
-Manufacturer#3	almond antique misty red olive	1	275.9139962356932	275.9139962356932	[1,19,14,45]	76128.53331875012	-0.577476899644802	-2547.7868749999993
-Manufacturer#3	almond antique olive coral navajo	45	260.5815918713796	260.5815918713796	[1,19,45]	67902.76602222225	-0.8710736366736884	-4099.731111111111
-Manufacturer#4	almond antique gainsboro frosted violet	10	170.13011889596618	170.13011889596618	[39,27,10]	28944.25735555559	-0.6656975320098423	-1347.4777777777779
-Manufacturer#4	almond antique violet mint lemon	39	242.26834609323197	242.26834609323197	[39,7,27,10]	58693.95151875002	-0.8051852719193339	-2537.328125
-Manufacturer#4	almond aquamarine floral ivory bisque	27	234.10001662537326	234.10001662537326	[39,7,27,10,12]	54802.817784000035	-0.6046935574240581	-1719.8079999999995
-Manufacturer#4	almond aquamarine yellow dodger mint	7	247.3342714197732	247.3342714197732	[39,7,27,12]	61174.24181875003	-0.5508665654707869	-1719.0368749999975
-Manufacturer#4	almond azure aquamarine papaya violet	12	283.3344330566893	283.3344330566893	[7,27,12]	80278.40095555557	-0.7755740084632333	-1867.4888888888881
-Manufacturer#5	almond antique blue firebrick mint	31	83.69879024746363	83.69879024746363	[2,6,31]	7005.487488888913	0.39004303087285047	418.9233333333353
-Manufacturer#5	almond antique medium spring khaki	6	316.68049612345885	316.68049612345885	[2,6,46,31]	100286.53662500004	-0.713612911776183	-4090.853749999999
-Manufacturer#5	almond antique sky peru orange	2	285.40506298242155	285.40506298242155	[2,23,6,46,31]	81456.04997600002	-0.712858514567818	-3297.2011999999986
-Manufacturer#5	almond aquamarine dodger light gainsboro	46	285.43749038756283	285.43749038756283	[2,23,6,46]	81474.56091875004	-0.984128787153391	-4871.028125000002
-Manufacturer#5	almond azure blanched chiffon midnight	23	315.9225931564038	315.9225931564038	[2,23,46]	99807.08486666664	-0.9978877469246936	-5664.856666666666
+Manufacturer#1	almond antique burnished rose metallic	2	273.70217881648074	273.70217881648074	[2,34]	74912.8826888888	1.0	4128.782222222221
+Manufacturer#1	almond antique burnished rose metallic	2	258.10677784349235	258.10677784349235	[2,34,6]	66619.10876874991	0.811328754177887	2801.7074999999995
+Manufacturer#1	almond antique chartreuse lavender yellow	34	230.90151585470358	230.90151585470358	[2,34,6,28]	53315.51002399992	0.695639377397664	2210.7864
+Manufacturer#1	almond antique salmon chartreuse burlywood	6	202.73109328368946	202.73109328368946	[2,34,6,28,42]	41099.896184	0.630785977101214	2009.9536000000007
+Manufacturer#1	almond aquamarine burnished black steel	28	121.6064517973862	121.6064517973862	[34,6,28,42]	14788.129118750014	0.2036684720435979	331.1337500000004
+Manufacturer#1	almond aquamarine pink moccasin thistle	42	96.5751586416853	96.5751586416853	[6,28,42]	9326.761266666683	-1.4442181184933883E-4	-0.20666666666708502
+Manufacturer#2	almond antique violet chocolate turquoise	14	142.2363169751898	142.2363169751898	[14,40,2]	20231.169866666663	-0.49369526554523185	-1113.7466666666658
+Manufacturer#2	almond antique violet turquoise frosted	40	137.76306498840682	137.76306498840682	[14,40,2,25]	18978.662075	-0.5205630897335946	-1004.4812499999995
+Manufacturer#2	almond aquamarine midnight light salmon	2	130.03972279269132	130.03972279269132	[14,40,2,25,18]	16910.329504000005	-0.46908967495720255	-766.1791999999995
+Manufacturer#2	almond aquamarine rose maroon antique	25	135.55100986344584	135.55100986344584	[40,2,25,18]	18374.07627499999	-0.6091405874714462	-1128.1787499999987
+Manufacturer#2	almond aquamarine sandy cyan gainsboro	18	156.44019460768044	156.44019460768044	[2,25,18]	24473.534488888927	-0.9571686373491608	-1441.4466666666676
+Manufacturer#3	almond antique chartreuse khaki white	17	196.7742266885805	196.7742266885805	[17,14,19]	38720.09628888887	0.5557168646224995	224.6944444444446
+Manufacturer#3	almond antique forest lavender goldenrod	14	275.14144189852607	275.14144189852607	[17,14,19,1]	75702.81305	-0.6720833036576083	-1296.9000000000003
+Manufacturer#3	almond antique metallic orange dim	19	260.23473614412046	260.23473614412046	[17,14,19,1,45]	67722.117896	-0.5703526513979519	-2129.0664
+Manufacturer#3	almond antique misty red olive	1	275.9139962356932	275.9139962356932	[14,19,1,45]	76128.53331875012	-0.577476899644802	-2547.7868749999993
+Manufacturer#3	almond antique olive coral navajo	45	260.5815918713796	260.5815918713796	[19,1,45]	67902.76602222225	-0.8710736366736884	-4099.731111111111
+Manufacturer#4	almond antique gainsboro frosted violet	10	170.13011889596618	170.13011889596618	[10,39,27]	28944.25735555559	-0.6656975320098423	-1347.4777777777779
+Manufacturer#4	almond antique violet mint lemon	39	242.26834609323197	242.26834609323197	[10,39,27,7]	58693.95151875002	-0.8051852719193339	-2537.328125
+Manufacturer#4	almond aquamarine floral ivory bisque	27	234.10001662537326	234.10001662537326	[10,39,27,7,12]	54802.817784000035	-0.6046935574240581	-1719.8079999999995
+Manufacturer#4	almond aquamarine yellow dodger mint	7	247.3342714197732	247.3342714197732	[39,27,7,12]	61174.24181875003	-0.5508665654707869	-1719.0368749999975
+Manufacturer#4	almond azure aquamarine papaya violet	12	283.3344330566893	283.3344330566893	[27,7,12]	80278.40095555557	-0.7755740084632333	-1867.4888888888881
+Manufacturer#5	almond antique blue firebrick mint	31	83.69879024746363	83.69879024746363	[31,6,2]	7005.487488888913	0.39004303087285047	418.9233333333353
+Manufacturer#5	almond antique medium spring khaki	6	316.68049612345885	316.68049612345885	[31,6,2,46]	100286.53662500004	-0.713612911776183	-4090.853749999999
+Manufacturer#5	almond antique sky peru orange	2	285.40506298242155	285.40506298242155	[31,6,2,46,23]	81456.04997600002	-0.712858514567818	-3297.2011999999986
+Manufacturer#5	almond aquamarine dodger light gainsboro	46	285.43749038756283	285.43749038756283	[6,2,46,23]	81474.56091875004	-0.984128787153391	-4871.028125000002
+Manufacturer#5	almond azure blanched chiffon midnight	23	315.9225931564038	315.9225931564038	[2,46,23]	99807.08486666664	-0.9978877469246936	-5664.856666666666
 PREHOOK: query: -- 21. testDISTs
 select  p_mfgr,p_name, p_size, 
 histogram_numeric(p_retailprice, 5) over w1 as hist, 

Modified: hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyMap.java
URL: http://svn.apache.org/viewvc/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyMap.java?rev=1644795&r1=1644794&r2=1644795&view=diff
==============================================================================
--- hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyMap.java (original)
+++ hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyMap.java Thu Dec 11 23:59:10 2014
@@ -18,7 +18,7 @@
 package org.apache.hadoop.hive.serde2.lazy;
 
 import java.util.Arrays;
-import java.util.HashSet;
+import java.util.LinkedHashSet;
 import java.util.LinkedHashMap;
 import java.util.Map;
 import java.util.Set;
@@ -154,7 +154,7 @@ public class LazyMap extends LazyNonPrim
     int keyValueSeparatorPosition = -1;
     int elementByteEnd = start;
     byte[] bytes = this.bytes.getData();
-    Set<Object> keySet = new HashSet<Object>();
+    Set<Object> keySet = new LinkedHashSet<Object>();
 
     // Go through all bytes in the byte[]
     while (elementByteEnd <= arrayByteEnd) {