[ https://issues.apache.org/jira/browse/PIG-1288?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12893001#action_12893001 ]
Hadoop QA commented on PIG-1288: -------------------------------- -1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12450538/PIG-1288-4.patch against trunk revision 979781. +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 does not increase the total number of release audit warnings. -1 core tests. The patch failed core unit tests. -1 contrib tests. The patch failed contrib unit tests. Test results: http://hudson.zones.apache.org/hudson/job/Pig-Patch-h7.grid.sp2.yahoo.net/381/testReport/ Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Pig-Patch-h7.grid.sp2.yahoo.net/381/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html Console output: http://hudson.zones.apache.org/hudson/job/Pig-Patch-h7.grid.sp2.yahoo.net/381/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, PIG-1288-2.patch, PIG-1288-3.patch, > PIG-1288-4.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.