[ https://issues.apache.org/jira/browse/HIVE-4580?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13681842#comment-13681842 ]
Eugene Koifman commented on HIVE-4580: -------------------------------------- The HIVE-4580.patch includes the following: Some DDL operations in Hive (DDLTask) used to produce HTTP Status codes to support WebHCat (Templeton). These operations now produce canonical errors based on ErrorMsg. WebHCat then maps the canonical error code to appropriate HTTP Status. Due to this refactoring a number of .q.out files changed though the changes are cosmetic. A new set of unit tests TestWebHCatE2e is added. These tests start a WebHCat server and make REST calls to it. Unlike hcatalog/src/test/e2e/templeton e2e tests, these are JUnit test and don't require any set up. These are suitable for DLL operation tests. > 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 > Assignee: Eugene Koifman > Fix For: 0.12.0 > > Attachments: HIVE-4580.patch > > Original Estimate: 40h > Remaining Estimate: 40h > > 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