[ https://issues.apache.org/jira/browse/HIVE-4007?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13581062#comment-13581062 ]
Namit Jain commented on HIVE-4007: ---------------------------------- Right now, there is no incompatibility. The idea is as follows: If we want to add a new API today to the SerDe, we need to change all the existing implementations, even if they are not using the new API. We will add a dummy implementation in the future in the abstract class, and only the classes that need to use the new API will implement the new API. The code change will be limited. All serdes should extend the abstract class - since we cannot enforce that for the serde in the open, this will create a problem for those serdes when the API changes. The problem exists even today, and is much worse - with this change, the serdes have to make the change only once. > 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 > > > 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