You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pig.apache.org by "Hadoop QA (JIRA)" <ji...@apache.org> on 2010/05/01 00:31:55 UTC

[jira] Commented: (PIG-1288) EvalFunc returnType is wrong for generic subclasses

    [ https://issues.apache.org/jira/browse/PIG-1288?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12862912#action_12862912 ] 

Hadoop QA commented on PIG-1288:
--------------------------------

-1 overall.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12443302/PIG-1288-1.patch
  against trunk revision 939727.

    +1 @author.  The patch does not contain any @author tags.

    +1 tests included.  The patch appears to include 17 new or modified tests.

    +1 javadoc.  The javadoc tool did not generate any warning messages.

    +1 javac.  The applied patch does not increase the total number of javac compiler warnings.

    +1 findbugs.  The patch does not introduce any new Findbugs warnings.

    -1 release audit.  The applied patch generated 531 release audit warnings (more than the trunk's current 528 warnings).

    -1 core tests.  The patch failed core unit tests.

    +1 contrib tests.  The patch passed contrib unit tests.

Test results: http://hudson.zones.apache.org/hudson/job/Pig-Patch-h8.grid.sp2.yahoo.net/306/testReport/
Release audit warnings: http://hudson.zones.apache.org/hudson/job/Pig-Patch-h8.grid.sp2.yahoo.net/306/artifact/trunk/patchprocess/releaseAuditDiffWarnings.txt
Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Pig-Patch-h8.grid.sp2.yahoo.net/306/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
Console output: http://hudson.zones.apache.org/hudson/job/Pig-Patch-h8.grid.sp2.yahoo.net/306/console

This message is automatically generated.

> EvalFunc returnType is wrong for generic subclasses
> ---------------------------------------------------
>
>                 Key: PIG-1288
>                 URL: https://issues.apache.org/jira/browse/PIG-1288
>             Project: Pig
>          Issue Type: Bug
>          Components: impl
>    Affects Versions: 0.7.0
>            Reporter: Daniel Dai
>            Assignee: Daniel Dai
>             Fix For: 0.8.0
>
>         Attachments: PIG-1288-1.patch
>
>
> From Garrett Buster Kaminaga:
> The EvalFunc constructor has code to determine the return type of the function.
> This walks up the object hierarchy until it encounters EvalFunc, then calls getActualTypeArguments and extracts type
> param 0.
> However, if the user class is itself a generic extension of EvalFunc, then the returned object is not the correct type,
> but a TypeVariable.
> Example:
>   class MyAbstractEvalFunc<T> extends EvalFunc<T> ...
>   class MyEvalFunc extends MyAbstractEvalFunc<String> ...
> when MyEvalFunc() is called, inside EvalFunc constructor the return type is set to a TypeVariable rather than
> String.class.
> The workaround we've implemented is for the MyAbstractEvalFunc<T> to determine *its* type parameters using code
> similar to that in the EvalFunc constructor, and then reset protected data member returnType manually in the
> MyAbstractEvalFunc constructor.  (though this has the same drawback of not working if someone then extends
> MyAbstractEvalFunc)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.