Cheolsoo Park created PIG-3234:
----------------------------------

             Summary: Remove anti-pattern in LoadFunc implementations
                 Key: PIG-3234
                 URL: https://issues.apache.org/jira/browse/PIG-3234
             Project: Pig
          Issue Type: Improvement
            Reporter: Cheolsoo Park


I noticed this anti-pattern while reviewing PIG-3142. A lot of LoadFunc 
implementations in our code base does the following:
{code}
public Tuple getNext() throws IOException {
    if (!initialized) {
        // initialize
        initialized = true;
    }
    // load data
}
{code}
The LoadFunc interface provides prepareToRead() for any kind of initialization 
during execution, so we should use it instead. Looking at the commit history, 
this anti-pattern wasn't cleaned up when the load/store func redesign was 
merged to trunk:
http://svn.apache.org/viewvc?limit_changes=0&view=revision&revision=911959

To prevent this anti-pattern from being copied and pasted by new LoadFunc 
implementations, it would be nice if we could get rid of them in our code base.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to