Github user sureshsubbiah commented on a diff in the pull request:
https://github.com/apache/incubator-trafodion/pull/252#discussion_r49122116
--- Diff: core/sql/executor/hiveHook.cpp ---
@@ -319,7 +319,7 @@ struct hive_sd_desc* populateSD(HiveMetaData *md, Int32
mainSdID,
// TODO : loop over SDs
if (findAToken(md, tblStr, pos, "sd:StorageDescriptor(",
- "getTableDesc::sd:StorageDescriptor(###"))
+ "getTableDesc::sd:StorageDescriptor(###"),FALSE)
--- End diff --
Unlike other findAToken calls, this one expects to not find the token. If a
token is indeed found we return NULL and will not create a NATable object. In
the typical case, findAToken will return False and control will pass to line
325. If the last argument to findAToken, raiseError uses the default value of
TRUE we will add an error detail text to the HiveMetaDB object. This error
detail information will be used in NATable.cpp when error 1192 is raised. I
think in the problem case we have the error detail text as always (which is
usually harmless) but then later in the code path we get triggered onto raising
an error in NAtable.cpp and use this older error detail text, thus maybe hiding
the real error.
The metadata string returned by Hive in HDP when the test fails is the
exact same as what we usually get.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---