hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-7206) External Exception framework v2 (simplifies and replaces HBASE-6571)
Date Tue, 04 Dec 2012 00:45:58 GMT

    [ https://issues.apache.org/jira/browse/HBASE-7206?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13509383#comment-13509383
] 

stack commented on HBASE-7206:
------------------------------

I see our building an inter-thread message passing system except the system only passes a
single message type, the exception type.  It makes me ask why not just make a system for message
passing including exception message types.

Will we want to use this framework to do other than exception reporting?

I was thinking it like a Future because you can call isDone or isCancelled -- you'd call these
rather than your noop checkable -- before you go block on the getting of the result (I suppose
can't get failure reason out of a Future so not best analogy)

Are the processes that throw these 'ExternalExceptions' children of the 'checking' thread?
 What is the relation?  I want to know to see if can have better name than ExternalException.
 ChildException?  DependencyException?  The latter is not too bad in that it says there is
a relationship between the process throwing the exception and the 'checking' thread?


                
> External Exception framework v2 (simplifies and replaces HBASE-6571)
> --------------------------------------------------------------------
>
>                 Key: HBASE-7206
>                 URL: https://issues.apache.org/jira/browse/HBASE-7206
>             Project: HBase
>          Issue Type: Sub-task
>          Components: snapshots
>            Reporter: Jonathan Hsieh
>            Assignee: Jonathan Hsieh
>             Fix For: hbase-6055, 0.96.0
>
>         Attachments: 121122-external-exceptions.pdf, hbase-7206.v3.patch
>
>
> This provides a way of sending exceptions from 'external' threads/processes (not the
main executing thread) to others that poll cooperatively for external exceptions.  Some examples
of how this can be used include: having a separate timeout thread that injects an exception
when a time limit has elapsed (TimeoutExceptionInjector, was OperationAttemptTimer), or having
an exception from an separate process delivered to a local thread.  
> This simplified version is centered around the ExternalException class.  Instead of using
generics and ErrorListener interfaces, this more straight-forward implementation eliminates
many of the builders/factories and generics.

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

Mime
View raw message