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

Patrick Duin commented on HIVE-15249:
-------------------------------------

[~ngangam] 
Thanks for addressing this.
I've look through the patch (haven't applied it) but it doesn't touch any java 
code. In order to fix this this check needs to be addressed. 
https://github.com/apache/hive/blob/master/metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreUtils.java#L696
Used here:
https://github.com/apache/hive/blob/master/metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreUtils.java#L708

I can confirm that changing the COLUMNS_V2.COLUMN TYPE_NAME as done in the 
patch fixes the DB issue but a create/alter table will still fail due to the 
error described in this ticket.

> HIve 2.1.0 is throwing InvalidObjectException(message:Invalid column type 
> name is too long
> ------------------------------------------------------------------------------------------
>
>                 Key: HIVE-15249
>                 URL: https://issues.apache.org/jira/browse/HIVE-15249
>             Project: Hive
>          Issue Type: Bug
>          Components: Hive
>            Reporter: vishal.rajan
>
> HIve 2.1.0 is throwing InvalidObjectException(message:Invalid column type 
> name is too long
>  If you go through MetaStoreUtils.java you can see MAX_MS_TYPENAME_LENGTH is 
> hard coded to 2000, but this can be set to higher value in mysql.Table create 
> doesn't happen , for tables with higher type length. Different users can 
> change this variable based on different use cases/metastore if this can be a 
> config variable.
>   public static final int MAX_MS_TYPENAME_LENGTH = 2000;
>   public static final String TYPE_FROM_DESERIALIZER = "<derived from 
> deserializer>";
>   /**
>    * validate column type
>    *
>    * if it is predefined, yes. otherwise no
>    * @param name
>    * @return
>    */
>   static public String validateColumnType(String type) {
>     if (type.equals(TYPE_FROM_DESERIALIZER)) return null;
>     if (type.length() > MAX_MS_TYPENAME_LENGTH) {
>       return "type name is too long: " + type;
>     }



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to