You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hama.apache.org by "JongYoon Lim (JIRA)" <ji...@apache.org> on 2015/07/24 03:33:04 UTC

[jira] [Created] (HAMA-966) NioServerListener doesn't throw any exceptions.

JongYoon Lim created HAMA-966:
---------------------------------

             Summary: NioServerListener doesn't throw any exceptions.
                 Key: HAMA-966
                 URL: https://issues.apache.org/jira/browse/HAMA-966
             Project: Hama
          Issue Type: Bug
          Components: bsp core
    Affects Versions: 0.7.0
            Reporter: JongYoon Lim


*NioServerListener* which extends *Thread" can't throw any exceptions because it swallows them in *run()* as follows. 
{code:java}
try {
  // code for server bootstraping and binding
} catch (Exception e) {
  e.printStackTrace();
}
{code}
This results in that *startServer()* can't catch *BindException* and retry to start the server recursively. There can be two options. 
* Option 1. Use *Thread.UncaughtExceptionHandler*.
* Option 2. Make *NioServerListener* extend *Callable* and use *get()* of *Future* to catch exceptions. 

I think *Option 2* looks better because the code could be more intuitive.





--
This message was sent by Atlassian JIRA
(v6.3.4#6332)