You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by da...@apache.org on 2011/04/29 23:02:06 UTC
svn commit: r1097954 - in /pig/branches/branch-0.9: CHANGES.txt
src/org/apache/pig/builtin/Utf8StorageConverter.java
test/org/apache/pig/test/TestConversions.java
Author: daijy
Date: Fri Apr 29 21:02:05 2011
New Revision: 1097954
URL: http://svn.apache.org/viewvc?rev=1097954&view=rev
Log:
PIG-2017: consumeMap() fails with EmptyStackException (thedatachef via daijy)
Modified:
pig/branches/branch-0.9/CHANGES.txt
pig/branches/branch-0.9/src/org/apache/pig/builtin/Utf8StorageConverter.java
pig/branches/branch-0.9/test/org/apache/pig/test/TestConversions.java
Modified: pig/branches/branch-0.9/CHANGES.txt
URL: http://svn.apache.org/viewvc/pig/branches/branch-0.9/CHANGES.txt?rev=1097954&r1=1097953&r2=1097954&view=diff
==============================================================================
--- pig/branches/branch-0.9/CHANGES.txt (original)
+++ pig/branches/branch-0.9/CHANGES.txt Fri Apr 29 21:02:05 2011
@@ -174,6 +174,8 @@ PIG-1696: Performance: Use System.arrayc
BUG FIXES
+PIG-2017: consumeMap() fails with EmptyStackException (thedatachef via daijy)
+
PIG-1989: complex type casting should return null on casting failure (daijy)
PIG-1826: Unexpected data type -1 found in stream error (daijy)
Modified: pig/branches/branch-0.9/src/org/apache/pig/builtin/Utf8StorageConverter.java
URL: http://svn.apache.org/viewvc/pig/branches/branch-0.9/src/org/apache/pig/builtin/Utf8StorageConverter.java?rev=1097954&r1=1097953&r2=1097954&view=diff
==============================================================================
--- pig/branches/branch-0.9/src/org/apache/pig/builtin/Utf8StorageConverter.java (original)
+++ pig/branches/branch-0.9/src/org/apache/pig/builtin/Utf8StorageConverter.java Fri Apr 29 21:02:05 2011
@@ -25,6 +25,7 @@ import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.Stack;
+import java.util.EmptyStackException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -228,10 +229,12 @@ public class Utf8StorageConverter implem
break;
else if (buf==']' ||buf=='}'||buf==')')
{
- if (level.peek()==findStartChar((char)buf))
- level.pop();
- else
+ try {
+ if (level.peek()==findStartChar((char)buf))
+ level.pop();
+ } catch (EmptyStackException e) {
throw new IOException("Malformed map");
+ }
} else if (buf==','&&level.isEmpty()) { // Current map item complete
break;
}
Modified: pig/branches/branch-0.9/test/org/apache/pig/test/TestConversions.java
URL: http://svn.apache.org/viewvc/pig/branches/branch-0.9/test/org/apache/pig/test/TestConversions.java?rev=1097954&r1=1097953&r2=1097954&view=diff
==============================================================================
--- pig/branches/branch-0.9/test/org/apache/pig/test/TestConversions.java (original)
+++ pig/branches/branch-0.9/test/org/apache/pig/test/TestConversions.java Fri Apr 29 21:02:05 2011
@@ -340,6 +340,14 @@ public class TestConversions extends Tes
s = "[#]";
m = ps.getLoadCaster().bytesToMap(s.getBytes());
assertTrue(m==null);
+
+ s = "[a#}";
+ m = ps.getLoadCaster().bytesToMap(s.getBytes());
+ assertTrue(m==null);
+
+ s = "[a#)";
+ m = ps.getLoadCaster().bytesToMap(s.getBytes());
+ assertTrue(m==null);
s = "(a,b)";
schema = Utils.getSchemaFromString("t:tuple()");