pig-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Olga Natkovich (JIRA)" <j...@apache.org>
Subject [jira] Commented: (PIG-1440) Refactor org.apache.pig.data.DataType to use Enums instead of integer constants
Date Sun, 06 Jun 2010 19:24:55 GMT

    [ https://issues.apache.org/jira/browse/PIG-1440?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12876076#action_12876076

Olga Natkovich commented on PIG-1440:

I think it is important t preserve backward compatibility in 0.8.0 to improve adoption. Our
users in Yahoo had to go through a lot of pain to migrate their code to 0.7.0 and forcing
user updates on every release is not a good idea in my oppinion. 

That being said, is it possible to achieve this without breaking comptaibility. Can we add
enum side-by-side with the old constants and depricate them for now?

The other question is - are the benefits of this change worth the effort of refactoring. The
code that uses the current constants is everywhere. The other question is the conversion cost
on performance.

> Refactor org.apache.pig.data.DataType to use Enums instead of integer constants
> -------------------------------------------------------------------------------
>                 Key: PIG-1440
>                 URL: https://issues.apache.org/jira/browse/PIG-1440
>             Project: Pig
>          Issue Type: Improvement
>            Reporter: Gianmarco De Francisci Morales
>            Priority: Minor
> Refactoring DataType to use Enums instead of integer constants would provide many benefits,
> * Cleaner code
> * Easier to iterate over Enums
> * Easier to add new Enums without braking backwards compatibility
> * Can use EnumMaps for easily link values to Enums
> * Better support for translation from Enums to Strings and viceversa
> Int (or byte in Pig's case) Enum pattern has several drawbacks as summarized here http://java.sun.com/j2se/1.5.0/docs/guide/language/enums.html
> Drawbacks:
> We have to explicitly convert Enum values to bytes when serializing. This can be done
in DataReaderWriter.
> Possibly higher overhead than simply using bytes.
> Refactoring might be difficult.
> Thoughts?

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

View raw message