hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Carl Steinbach (JIRA)" <>
Subject [jira] [Commented] (HIVE-3001) Returning Meaningful Error Codes & Messages
Date Sun, 13 May 2012 22:25:52 GMT


Carl Steinbach commented on HIVE-3001:

The error handling mechanisms employed by ODBC and JDBC both rely on SQLState error codes
that have been standardized by ISO/ANSI and the Open Group (X/Open). It's obvious that we
would have to extend the predefined SQLState codes in order to cover the full range of error
conditions that are applicable to Hive, I still think it would make sense to use them as the
foundation of Hive's error code system. Otherwise, anyone who implements an ODBC or JDBC driver
for Hive is going to have to define their own mapping from Hive's internal error codes to
SQLState codes, which is both time consuming and destined to result in inconsistent behavior
across different driver implementations.

More information about SQLState error codes is available in the following page:
* SQLState and JDBC SQLExceptions:

> Returning Meaningful Error Codes & Messages
> -------------------------------------------
>                 Key: HIVE-3001
>                 URL:
>             Project: Hive
>          Issue Type: New Feature
>          Components: Diagnosability
>    Affects Versions: 0.8.1
>            Reporter: Bhushan Mandhani
>            Assignee: Bhushan Mandhani
>            Priority: Minor
>              Labels: diagnostics
>             Fix For: 0.9.0
>         Attachments: HIVE-3001.1.patch.txt
>   Original Estimate: 48h
>  Remaining Estimate: 48h
> Hive does not return meaningful error messages for runtime errors. Also, the same error
code is returned for a whole bunch of unrelated errors. A programmatic caller cannot decide
if it should retry or give up. This JIRA will get the ball rolling for having Hive return
useful error codes and display useful messages when something goes wrong. I propose the following
partitioning of error codes:
> 10000 to 19999: Errors that occur during semantic analysis and compilation of the query.
Hive already does a pretty good job for these. Error codes will be attached to the error messages
currently being used.
> 20000 to 29999: Runtime errors where Hive believes that retries will not succeed and
the caller should not bother retrying.
> 30000 to 39999: Runtime errors which Hive thinks are probably transient and retrying
may succeed.
> 40000 to 49999: Runtime errors where Hive is unable to say anything about whether retries
will succeed or not. Ideally, we want to avoid using this range as much as possible.
> Once we have this in place, over time we can migrate errors occurring in Hive operators
to use this scheme. This patch will deal with setting up the error code space, setting up
the mechanism for failed MapReduce tasks to relay the error code back to Hive client, and
using this new scheme for a couple of common errors.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message