[
https://issues.apache.org/jira/browse/PIG-969?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alan Gates reassigned PIG-969:
------------------------------
Assignee: Daniel Dai
> Default constructor of UDF gets called for UDF with parameterised constructor
> , if the udf has a getArgToFuncMapping function defined
> -------------------------------------------------------------------------------------------------------------------------------------
>
> Key: PIG-969
> URL: https://issues.apache.org/jira/browse/PIG-969
> Project: Pig
> Issue Type: Bug
> Components: impl
> Reporter: Thejas M Nair
> Assignee: Daniel Dai
> Fix For: 0.9.0
>
>
> This issue is discussed in
> http://www.mail-archive.com/[email protected]/msg00524.html . I am
> able to reproduce the issue. While it is easy to fix the udf, it can take a
> lot of time to figure out the problem (until they find this email
> conversation!).
> The root cause is that when getArgToFuncMapping is defined in the udf , the
> FuncSpec returned by the method replaces one set by define statement . The
> constructor arguments get lost. We can handle this in following ways -
> 1. Preserve the constructor arguments, and use it with the class name of the
> matching FuncSpec from getArgToFuncMapping .
> 2. Give an error if constructor paramerters are given for a udf which has
> FuncSpecs returned from getArgToFuncMapping .
> The problem with approach 1 is that we are letting the user define the
> FuncSpec , so user could have defined a FuncSpec with constructor (though
> they don't have a valid reason to do so.). It is also possible the the
> constructor of the different class that matched might not support same
> constructor parameters. The use of this function outside builtin udfs are
> also probably not common.
> With option 2, we are telling the user that this is not a supported use case,
> and user can easily change the udf to fix the issue, or use the udf which
> would have matched given parameters (which unlikely to have the
> getArgToFuncMapping method defined).
> I am proposing that we go with option 2 .
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.