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

Reply via email to