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

Vihang Karajgaonkar commented on HIVE-17580:
--------------------------------------------

Combining the enums is not going to help solve the problem, since metastore 
needs to get compile time access to ObjectInspector.TypeCategory unless we are 
okay to break compatibility by modifying the signature of getCategory method in 
TypeInfo. TypeInfo was annotated as public in HIVE-17157 so technically there 
hasn't been any released version of Hive which has it as a public API. So I 
think we are allowed to break compatibility with that respect. What do you 
think?

The other option suggested of moving ObjectInspector to standalone-metastore 
sounds weird to me since it has got nothing to do with metastore. Moving 
ObjectInspector to storage-api is not ideal but atleast is lesser of the two 
evils. It could be argued that it more a storage-api than a metastore api since 
it is related to how to interpret the serialized and deserialized data. I don't 
see a particular logically grouping of classes in storage-api (for example, 
HiveDecimal is in storage-api, but the other types are in serde). I think in 
the longer run we would need to reorganizing this in more consistent modules 
anyways.

> Remove dependency of get_fields_with_environment_context API to serde
> ---------------------------------------------------------------------
>
>                 Key: HIVE-17580
>                 URL: https://issues.apache.org/jira/browse/HIVE-17580
>             Project: Hive
>          Issue Type: Sub-task
>          Components: Standalone Metastore
>            Reporter: Vihang Karajgaonkar
>            Assignee: Vihang Karajgaonkar
>            Priority: Major
>              Labels: pull-request-available
>         Attachments: HIVE-17580.003-standalone-metastore.patch, 
> HIVE-17580.04-standalone-metastore.patch, 
> HIVE-17580.05-standalone-metastore.patch, 
> HIVE-17580.06-standalone-metastore.patch, 
> HIVE-17580.07-standalone-metastore.patch, 
> HIVE-17580.08-standalone-metastore.patch, 
> HIVE-17580.09-standalone-metastore.patch, 
> HIVE-17580.092-standalone-metastore.patch
>
>
> {{get_fields_with_environment_context}} metastore API uses {{Deserializer}} 
> class to access the fields metadata for the cases where it is stored along 
> with the data files (avro tables). The problem is Deserializer classes is 
> defined in hive-serde module and in order to make metastore independent of 
> Hive we will have to remove this dependency (atleast we should change it to 
> runtime dependency instead of compile time).
> The other option is investigate if we can use SearchArgument to provide this 
> functionality.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to