Author: vikram
Date: Mon Mar 24 10:19:54 2014
New Revision: 1580802
URL: http://svn.apache.org/r1580802
Log:
HIVE-6711 : ORC maps uses getMapSize() from MapOI which is unreliable (Prasanth
J via Vikram Dixit, reviewed by Gunther)
Modified:
hive/branches/branch-0.13/ql/src/java/org/apache/hadoop/hive/ql/io/orc/WriterImpl.java
Modified:
hive/branches/branch-0.13/ql/src/java/org/apache/hadoop/hive/ql/io/orc/WriterImpl.java
URL:
http://svn.apache.org/viewvc/hive/branches/branch-0.13/ql/src/java/org/apache/hadoop/hive/ql/io/orc/WriterImpl.java?rev=1580802&r1=1580801&r2=1580802&view=diff
==============================================================================
---
hive/branches/branch-0.13/ql/src/java/org/apache/hadoop/hive/ql/io/orc/WriterImpl.java
(original)
+++
hive/branches/branch-0.13/ql/src/java/org/apache/hadoop/hive/ql/io/orc/WriterImpl.java
Mon Mar 24 10:19:54 2014
@@ -1483,11 +1483,10 @@ class WriterImpl implements Writer, Memo
super.write(obj);
if (obj != null) {
MapObjectInspector insp = (MapObjectInspector) inspector;
- int len = insp.getMapSize(obj);
- lengths.write(len);
// this sucks, but it will have to do until we can get a better
// accessor in the MapObjectInspector.
Map<?, ?> valueMap = insp.getMap(obj);
+ lengths.write(valueMap.size());
for(Map.Entry<?, ?> entry: valueMap.entrySet()) {
childrenWriters[0].write(entry.getKey());
childrenWriters[1].write(entry.getValue());