There’s not example so far. I think/hope that we’ll see one in one of
Abdullah’s bug fixes :)

On 15 Jul 2016, at 13:16, Taewoo Kim wrote:

It's a great idea. Can you show us a before/after example that you have
replaced already in your branch if there is any?

Best,
Taewoo

On Fri, Jul 15, 2016 at 11:50 AM, Till Westmann <[email protected]> wrote:

Hi,

triggered by a recent bug fix that required an non-trivial error
reporting/handling workflow across the Hyracks/AsterixDB boundary, I’d
like to
propose a change/extension to the way we manage exceptions.

The change is that we’d limit the number of exception classes to a very few (HyracksDataException for runtime errors, AlgebricksExeptions for compiler errors, maybe 1 or 2 more) and introduce error codes to identify errors
further.

The use of error codes has a number of advantages:
1) Error codes usually use simple types (strings or integers) and thus
make it
easy to be transported across system boundaries (Hyracks, AsterixDB,
VXQuery,
clients, …) as opposed to subclasses of exceptions that need to be
available
   in the respective VMs.
2) Error codes (once established) make it easy for customers to search for
   existing solutions (try to google for e.g. "ORA-12154" [1] :) ).
3) Error codes can be used a a key for error messages in different
languages
   (if we want to expand our reach).

I’ve created en example of what this could initially look like for
HyracksDataException [2]. You’ll see there that I propose to add
a) a component (e.g. "Hyracks", "Hyracks Storage", "AsterixDB", …),
b) an error code (that is unique within a component), and
c) an array of Serializable objects
to the HyracksDataException. While the component and the error code are
used to
uniquely identify an error, the array is used to provide additional
information
for an error. This information that could either be used when handling the error or when parameterizing a (potential language-specific) error message. E.g. the error message could be "%1$s does not contain %2$s" and %1 and %2
would be substituted with actual values when reporting the error.

Please take a look at the proposal and reply with questions, comments,
suggestions, or alternatives.

Thanks,
Till

[1] https://www.google.com/search?q=ORA-12154
[2] https://asterix-gerrit.ics.uci.edu/#/c/1000/

Reply via email to