[jira] [Commented] (HIVE-4433) Fix C++ Thrift bindings broken in HIVE-4322

2013-05-03 Thread Samuel Yuan (JIRA)

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

Samuel Yuan commented on HIVE-4433:
---

I'm thinking it's possible to work around this by defining '' since it's 
present in the auto-generated header file. Given that other language bindings 
might also have been broken by HIVE-4322 though it's probably better to change 
the map key to a primitive type instead. I have filed HIVE-4492 to revert the 
original change.

 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.12.0
Reporter: Carl Steinbach
Assignee: Samuel Yuan
Priority: Blocker
 Fix For: 0.12.0




--
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


[jira] [Commented] (HIVE-4433) Fix C++ Thrift bindings broken in HIVE-4322

2013-04-28 Thread Carl Steinbach (JIRA)

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

Carl Steinbach commented on HIVE-4433:
--

Good point. I changed the fixversion to 0.12.0


 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.12.0
Reporter: Carl Steinbach
Assignee: Samuel Yuan
Priority: Blocker
 Fix For: 0.12.0




--
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


[jira] [Commented] (HIVE-4433) Fix C++ Thrift bindings broken in HIVE-4322

2013-04-27 Thread Carl Steinbach (JIRA)

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

Carl Steinbach commented on HIVE-4433:
--

You can reproduce the error by running the following command:

% ant compile-cpp -Dthrift.home=$THRIFT_HOME

Here's the error message I get:

{noformat}
 [exec] g++ -m64 -DARCH64 -dynamiclib 
/Users/carl/Work/repos/hive-test/build/metastore/objs/ThriftHiveMetastore.o 
/Users/carl/Work/repos/hive-test/build/metastore/objs/hive_metastore_constants.o
 /Users/carl/Work/repos/hive-test/build/metastore/objs/hive_metastore_types.o 
/Users/carl/Work/repos/hive-test/build/service/objs/ThriftHive.o 
/Users/carl/Work/repos/hive-test/build/service/objs/hive_service_constants.o 
/Users/carl/Work/repos/hive-test/build/service/objs/hive_service_types.o 
/Users/carl/Work/repos/hive-test/build/ql/objs/queryplan_types.o 
/Users/carl/Work/repos/hive-test/build/ql/objs/queryplan_constants.o 
/Users/carl/Work/repos/hive-test/build/odbc/objs/hiveclient.o 
/Users/carl/Work/repos/hive-test/build/odbc/objs/HiveResultSet.o 
/Users/carl/Work/repos/hive-test/build/odbc/objs/HiveColumnDesc.o 
/Users/carl/Work/repos/hive-test/build/odbc/objs/HiveRowSet.o 
/Users/carl/Work/repos/hive-test/build/odbc/objs/hiveclienthelper.o 
-L/usr/local/lib -lthrift -L/usr/local/lib -lfb303 -o 
/Users/carl/Work/repos/hive-test/build/odbc/lib/libhiveclient.so.1.0.0 \
 [exec]  ln -sf libhiveclient.so.1.0.0 
/Users/carl/Work/repos/hive-test/build/odbc/lib/libhiveclient.so
 [exec] Undefined symbols for architecture x86_64:
 [exec]   
Apache::Hadoop::Hive::SkewedValueList::operator(Apache::Hadoop::Hive::SkewedValueList
 const) const, referenced from:
 [exec]   
std::lessApache::Hadoop::Hive::SkewedValueList::operator()(Apache::Hadoop::Hive::SkewedValueList
 const, Apache::Hadoop::Hive::SkewedValueList const) constin 
hive_metastore_types.o
 [exec] ld: symbol(s) not found for architecture x86_64
 [exec] collect2: ld returned 1 exit status
 [exec] make: *** 
[/Users/carl/Work/repos/hive-test/build/odbc/lib/libhiveclient.so.1.0.0] Error 1

BUILD FAILED
/Users/carl/Work/repos/hive-test/build.xml:242: The following error occurred 
while executing this line:
/Users/carl/Work/repos/hive-test/build.xml:109: The following error occurred 
while executing this line:
/Users/carl/Work/repos/hive-test/build.xml:111: The following error occurred 
while executing this line:
/Users/carl/Work/repos/hive-test/odbc/build.xml:69: exec returned: 2
{noformat}

The problem is that STL maps require the '' operator to be defined for the key 
type, and SkewedValueList doesn't satisfy that requirement.

 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
Assignee: Samuel Yuan
Priority: Blocker



--
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


[jira] [Commented] (HIVE-4433) Fix C++ Thrift bindings broken in HIVE-4322

2013-04-27 Thread Ashutosh Chauhan (JIRA)

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

Ashutosh Chauhan commented on HIVE-4433:


[~cwsteinbach] The original culprit HIVE-4322 is not on 0.11. So, I think this 
cannot be marked as blocker for 0.11. Do you agree?

 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
Assignee: Samuel Yuan
Priority: Blocker



--
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


[jira] [Commented] (HIVE-4433) Fix C++ Thrift bindings broken in HIVE-4322

2013-04-26 Thread Carl Steinbach (JIRA)

[ 
https://issues.apache.org/jira/browse/HIVE-4433?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=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: liststring skewedValueList
}

// this object holds all the information about skewed table
struct SkewedInfo {
  1: liststring skewedColNames, // skewed column names
  2: listliststring skewedColValues, //skewed values
  3: mapSkewedValueList, 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


[jira] [Commented] (HIVE-4433) Fix C++ Thrift bindings broken in HIVE-4322

2013-04-26 Thread Carl Steinbach (JIRA)

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

Carl Steinbach commented on HIVE-4433:
--

Marking this as a blocker for 0.11.0. 

 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
Priority: Blocker



--
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