[ 
https://issues.apache.org/jira/browse/HIVE-4007?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13591614#comment-13591614
 ] 

Ashutosh Chauhan commented on HIVE-4007:
----------------------------------------

Just so we are on same page, let me say how it ought to work:
We need not to remove Serde interface in medium term. In Hive codebase we still 
refer implementations everywhere by Serde (not by AbstractSerde).  This will 
let existing serde impl work without needing to change anything on their part. 
Than lets say we add new apis to AbstractSerde. Than in Hive codebase, using 
instanceof we can determine if Serde is of type AbstractSerde or not  and call 
those new apis, *only if* they do implement it. This way we can keep supporting 
old implementations without breaking them when we do add new apis in 
AbstractSerde. Ofcourse, we encourage everyone to start switching to 
AbstractSerde as soon as they can, so that we don't need to do ugly instanceof 
forever.
Do you agree with this approach?
 
                
> Create abstract classes for serializer and deserializer
> -------------------------------------------------------
>
>                 Key: HIVE-4007
>                 URL: https://issues.apache.org/jira/browse/HIVE-4007
>             Project: Hive
>          Issue Type: Improvement
>          Components: Serializers/Deserializers
>            Reporter: Namit Jain
>            Assignee: Namit Jain
>         Attachments: hive.4007.1.patch, hive.4007.2.patch, hive.4007.3.patch, 
> hive.4007.4.patch
>
>
> Currently, it is very difficult to change the Serializer/Deserializer
> interface, since all the SerDes directly implement the interface.
> Instead, we should have abstract classes for implementing these interfaces.
> In case of a interface change, only the abstract class and the relevant 
> serde needs to change.

--
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