[ https://issues.apache.org/jira/browse/PIG-2344?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13228588#comment-13228588 ]
Ashutosh Chauhan commented on PIG-2344: --------------------------------------- Few problems which are related but possibly can be fixed without the redesign are following: Pig instantiates LF/SF 3 times in frontend and call different methods of the interface on different objects, making it impossible to communicate states between constructor and different methods within frontend. Illustration of this can be found in HCatLoader which saves schema in ctor in UDFContext and retrieves it back in frontend itself. This is a *nasty* *nasty* hack. This problem manifest itself in other places also in HCatlog, making code in it brittle. Second, if these LF/SF functions do not perform idempotent actions, then they have to workaround that too. Third problem is some of these methods pass jobconf, but writing anything into it is useless, since jobConf is thrown away. After making a call on interface, Pig should save this jobconf and when instantiate a real JobConf later, should initialize with this one. > UDF / LoadFunc / StoreFunc should be serializable > ------------------------------------------------- > > Key: PIG-2344 > URL: https://issues.apache.org/jira/browse/PIG-2344 > Project: Pig > Issue Type: Improvement > Reporter: Ashutosh Chauhan > > If there is a redesign, this should be a requirement. We will get away with > all the saving of state which got created in frontend and then recreating the > same state in backend. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira