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

Janaki Lahorani commented on HIVE-17832:
----------------------------------------

Thanks [~sershe].  I would like to understand the reasons behind such a design 
decision.

I think making this parameter modifiable at session level is beneficial for the 
following reasons.
1.  If a user made a mistake in defining the table, then the user doesn't have 
an option to change the definition.  The user needs to drop the table and 
recreate it.  That can be a bit tedious if the table definition is quite big.
2.  This is a DDL operation that is most likely not exposed to the end user.  
The setup of tables is typically handled by an administrator.
3.  HMS embedded with HS2 is also a accepted configuration.  If the parameter 
is not modifiable for standalone HMS, then it shouldn't be modifiable for 
embedded HMS as well, which is not the case today.  You see a lot of qfile 
tests that modifies this parameter.
4.  Please refer to the following comment from [~ashutoshc] in JIRA HIVE-12320 
(cut and pasted for your reference):
_Ashutosh Chauhan added a comment - 03/Nov/15 10:05
Its better to be strict (default this to true) than leaving potential to 
corrupt data. This is only a safeguard since behavior is governed by a config 
param. An advance user who know what they are doing can still set this to false 
to potentially do dangerous schema changes.
_
I don't think the implication was also to restart the HMS after changing the 
parameter value.  

I would be very grateful if you can elaborate on why you feel this was by 
design, and the benefits for having such a design.

Thanks,
Janaki.

> Allow hive.metastore.disallow.incompatible.col.type.changes to be changed in 
> metastore
> --------------------------------------------------------------------------------------
>
>                 Key: HIVE-17832
>                 URL: https://issues.apache.org/jira/browse/HIVE-17832
>             Project: Hive
>          Issue Type: Bug
>    Affects Versions: 2.1.1
>            Reporter: Janaki Lahorani
>            Assignee: Janaki Lahorani
>             Fix For: 3.0.0
>
>         Attachments: HIVE17832.1.patch, HIVE17832.2.patch
>
>
> hive.metastore.disallow.incompatible.col.type.changes when set to true, will 
> disallow incompatible column type changes through alter table.  But, this 
> parameter is not modifiable in HMS.  If HMS in not embedded into HS2, the 
> value cannot be changed.  



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to