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

Carl Steinbach commented on HIVE-4433:
--------------------------------------

HIVE-4322 added a SkewedValueList structure to the Metastore Thrift IDL, along 
with a map field where this structure is used as a key:

{noformat}
// Workaround for HIVE-4322struct SkewedValueList {
  1: list<string> skewedValueList
}

// this object holds all the information about skewed table
struct SkewedInfo {
  1: list<string> skewedColNames, // skewed column names
  2: list<list<string>> skewedColValues, //skewed values
  3: map<SkewedValueList, string> skewedColValueLocationMaps, //skewed value to 
location mappings
}
{noformat}

It turns out that this change breaks the C++ Thrift bindings (and possibly also 
the bindings for other languages).

According to the Thrift documentation 
[here|http://thrift.apache.org/docs/types/] it's a really bad idea to use a 
struct or container type as a map key:

{quote}
N.B.: For maximal compatibility, the key type for map should be a basic type 
rather than a struct or container type. There are some languages which do not 
support more complex key types in their native map types. In addition the JSON 
protocol only supports key types that are base types.
{quote}

I haven't had much time to look into this, but my hunch is that we probably 
need to backout HIVE-4322.
                
> Fix C++ Thrift bindings broken in HIVE-4322
> -------------------------------------------
>
>                 Key: HIVE-4433
>                 URL: https://issues.apache.org/jira/browse/HIVE-4433
>             Project: Hive
>          Issue Type: Bug
>          Components: Metastore, Thrift API
>    Affects Versions: 0.11.0
>            Reporter: Carl Steinbach
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to