Eugene Koifman created HIVE-4580:
------------------------------------

             Summary: Change DDLTask to report errors using canonical error 
messages rather than http status codes
                 Key: HIVE-4580
                 URL: https://issues.apache.org/jira/browse/HIVE-4580
             Project: Hive
          Issue Type: Bug
          Components: HCatalog
    Affects Versions: 0.11.0
            Reporter: Eugene Koifman


org.apache.hadoop.hive.ql.exec.DDLTask handles DDL operations in Hive.
Some operations (those exposed as REST API by Templeton) in this class, write a 
JSON object to stdout (on failure) which includes "error" and "errorCode" 
fields.  "errorCode" is set to values like 404, 500, etc. i.e. Http Status 
codes.  I believe this was done to support Templeton REST API.  This is not the 
right place to introduce Http codes.  

DDLTask should use canonical error messages defined in 
org.apache.hadoop.hive.ql.ErrorMsg and propagate it up to HCatCli which can 
decide how to encode the error and to which stream.  In particular it can 
create a parseable JSON object which Templeton can then interpret.  JSON object 
can also be generated here for errors from the parser/resolver (e.g. trying to 
describe a table which doesn't exist).

Then Templeton can map the canonical error code to appropriate Http Code.


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