dlmarion commented on issue #2331:
URL: https://github.com/apache/accumulo/issues/2331#issuecomment-956177826


   > I think the changes there were all made from the server's perspective even 
though TabletServerBatchWriter is primarily a client API.
   
   Fair point about the client API, but I'm struggling with how to deal with 
this. Suggestions would be welcome. The 
[api](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Error.html)
 docs say " a reasonable application should not try to catch" Error's. The 
[JLS](https://docs.oracle.com/javase/specs/jls/se8/html/jls-11.html#jls-11.3) 
says that "... catching errors from which recovery is typically not possible."
   
   If we want the client application to handle Error's, maybe the right 
approach is:
   
     1. Only halt the VM in the AccumuloUncaughtExceptionHandler when it's 
running in the Accumulo server processes. Is there currently a way to determine 
this? One thought would be to set a system property in the AbstractServer 
constructor.
    
     2. For threads in the client, allow the thread to die, and check to see 
whether or not it's still alive. Or maybe there is a client side uncaught 
exception handler.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to