You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "stack (JIRA)" <ji...@apache.org> on 2012/12/02 03:15:59 UTC

[jira] [Commented] (HBASE-7206) External Exception framework v2 (simplifies and replaces HBASE-6571)

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

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

Very nice design proposal.  Definetly makes it easier reviewing this new addition.  Thanks.

"We need a way of sending exceptions from 
other threads/processes to another thread so that it 
can cancel the potentially long running process"

What is difference between this and a message bus?

Why exceptions only and not general messages passing?

Looks like a Future?  Or a DistributedFuture?

"Other threads periodically polls that container and aborts 
if there is an ‘external exception’"

The focus is on 'exceptions'.  Could we pivot and talk about successes instead?  The framework is about reporting result of remote process.  Usuaally they succeed but there is also provision for reporting why it failed (the exception)?

ExternalExceptionSnare... nice class name.  Poetic.

What action does a watching process take on an ExternalException?  It cancels what it was doing?  Or we are watching for ExternalException because in their absence, we know whatever we set running is proceeding?

Yeah, not clear on this one (I'm not the brightest so you'll have to bring me along).... look forward to answers above.

Good on you Jon.




                
> 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