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 2012/03/16 07:16:58 UTC
svn commit: r1301346 - in /pig/trunk: CHANGES.txt
contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/HashFNV.java
Author: daijy
Date: Fri Mar 16 06:16:58 2012
New Revision: 1301346
URL: http://svn.apache.org/viewvc?rev=1301346&view=rev
Log:
PIG-2581: HashFNV inconsistent/non-deterministic due to default platform encoding
Modified:
pig/trunk/CHANGES.txt
pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/HashFNV.java
Modified: pig/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1301346&r1=1301345&r2=1301346&view=diff
==============================================================================
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Fri Mar 16 06:16:58 2012
@@ -102,6 +102,8 @@ OPTIMIZATIONS
BUG FIXES
+PIG-2581: HashFNV inconsistent/non-deterministic due to default platform encoding (prkommireddi via daijy)
+
PIG-2514: REGEX_EXTRACT not returning correct group with non greedy regex (romainr via daijy)
PIG-2532: Registered classes fail deserialization in frontend (traviscrawford via julien)
Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/HashFNV.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/HashFNV.java?rev=1301346&r1=1301345&r2=1301346&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/HashFNV.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/HashFNV.java Fri Mar 16 06:16:58 2012
@@ -51,7 +51,12 @@ public class HashFNV extends EvalFunc<Lo
{
int hval = init;
- byte[] bytes = s.getBytes();
+ byte[] bytes = null;
+ try {
+ bytes = s.getBytes("UTF-8");
+ } catch (java.io.UnsupportedEncodingException e) {
+ // shall not happen
+ }
for (int i=0;i<bytes.length;i++)
{
/* multiply by the 32 bit FNV magic prime mod 2^32 */