[ https://issues.apache.org/jira/browse/HIVE-8560?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14180258#comment-14180258 ]
Xuefu Zhang commented on HIVE-8560: ----------------------------------- {quote} it wouldn't hurt here if the table properties were set directly in the Properties (as opposed to being set in the defaults), and then overlayed by the partition properties (if any), right? {quote} I guess the difference is also subtle. Storing all property in one list vs two lists is that all HashMap related operations only apply to the main list, but not to the list for defaults. Thus, you can remove a property from the list, but its default will be still there. Also, child class of Properties can access both the value and the default value of a given property if exists. I think Hive's use case doesn't involve these. Thus, +1. > SerDes that do not inherit AbstractSerDe do not get table properties during > initialize() > ---------------------------------------------------------------------------------------- > > Key: HIVE-8560 > URL: https://issues.apache.org/jira/browse/HIVE-8560 > Project: Hive > Issue Type: Bug > Components: Serializers/Deserializers > Reporter: Jason Dere > Assignee: Jason Dere > Attachments: HIVE-8560.1.patch > > > Looks like this may have been introduced during HIVE-6835. During > initialize(), 3rd party SerDes which do not inherit AbstractSerDe end up > getting a Properties object created by > SerDeUtils.createOverlayedProperties(). This properties object receives the > table properties as defaults. So looking up a key by name will yield the > default value, but a call like getKeys() will not show any of the table > properties. -- This message was sent by Atlassian JIRA (v6.3.4#6332)