[ 
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

Reply via email to