You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Jimson K James (JIRA)" <ji...@apache.org> on 2018/01/21 02:55:02 UTC

[jira] [Assigned] (HIVE-18504) Hive is throwing InvalidObjectException(message:Invalid column type name is too long.

     [ https://issues.apache.org/jira/browse/HIVE-18504?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jimson K James reassigned HIVE-18504:
-------------------------------------


> Hive is throwing InvalidObjectException(message:Invalid column type name is too long.
> -------------------------------------------------------------------------------------
>
>                 Key: HIVE-18504
>                 URL: https://issues.apache.org/jira/browse/HIVE-18504
>             Project: Hive
>          Issue Type: Bug
>          Components: Hive
>            Reporter: Jimson K James
>            Assignee: Naveen Gangam
>            Priority: Major
>             Fix For: 2.3.0, 3.0.0
>
>
> 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
(v7.6.3#76005)