-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18525/
-----------------------------------------------------------

(Updated Feb. 27, 2014, 12:28 a.m.)


Review request for pig, Daniel Dai, Mark Wagner, and Rohini Palaniswamy.


Changes
-------

Incorporate Rohini's comments.


Bugs: PIG-3679
    https://issues.apache.org/jira/browse/PIG-3679


Repository: pig-git


Description
-------

I discovered this regression while debugging the e2e test 
StreamingPythonUDFs_10 in trunk. To summarize, replacing (STATUS_NULL) with 
(STATUS_OK + null) has changed how null values are handled in some cases. In 
particular, some UDFs that used to see no nulls are called with nulls and fail 
with NPE now. Since this is a major backward incompatibility, I changed 
POUserFunc to filter out nulls always. Technically, this still changes the 
behavior with nulls, but it seems ok that UDFs that used to fail with NPE no 
longer fail.

Here is my reasoning in more details-
https://issues.apache.org/jira/browse/PIG-3679?focusedCommentId=13892966&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13892966

Alternatively, we could let UDFs handle nulls by themselves. That seems cleaner 
to me, but backward incompatibility is a concern (i.e. "My UDFs used to work 
with 0.12, but it no longer works with 0.13").


Diffs (updated)
-----

  src/org/apache/pig/PigWarning.java 523cf30 
  
src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/expressionOperators/POUserFunc.java
 f031b1d 

Diff: https://reviews.apache.org/r/18525/diff/


Testing
-------

All e2e tests pass (except Warning_4 PIG-3739).


Thanks,

Cheolsoo Park

Reply via email to