[ 
https://issues.apache.org/jira/browse/DERBY-1465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12659110#action_12659110
 ] 

Knut Anders Hatlen commented on DERBY-1465:
-------------------------------------------

Right, I assumed that the BindException was in the exception chain, but I see 
now that that's not the case. If we just want to preserve the exception in case 
it's an unexpected one in the test, we could simply do this and ignore that we 
don't really have a BindException in the chain:

catch (Exception e) {
    if (e.getMessage().indexOf("java.net.BindException") == -1) {
        throw e;
    }
}

As to the issue of preserving the original exception when a BindException (or 
any other exception) is thrown, I think the problem here is that 
consolePropertyMessage() only takes the message to print as an argument. Since 
it in many cases generates and throws a new exception, it should also take the 
underlying exception as an argument, and it should either re-throw it or put it 
in the chain with initCause() so that we preserve the stack trace of the root 
cause. It doesn't have to be fixed as part of this issue, but I think it would 
be worth fixing.

> NetworkServerControl.start() should throw an exception and not just  print  
> exceptions  if the server fails to start
> --------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-1465
>                 URL: https://issues.apache.org/jira/browse/DERBY-1465
>             Project: Derby
>          Issue Type: Bug
>          Components: Network Server
>    Affects Versions: 10.1.2.1
>            Reporter: Kathey Marsden
>            Priority: Minor
>         Attachments: DERBY-1465.diff3, DERBY-1465.diff4, DERBY-1465.diff5, 
> DERBY-1465.diff6, DERBY-1465.diff7, DERBY-1465_diff.txt, DERBY-1465_diff.txt, 
> DERBY-1465_stat.txt, DERBY-1465_stat.txt, releaseNote.html, releaseNote.html, 
> releaseNote.html
>
>
> NetworkServerControl.start()  will not throw an exception  if another server 
> is already running on the same port.    I am not sure but think perhaps this 
> was changed at  one point to accomodate the derby.drda.startNetworkServer 
> property  so that the embedded server could continue to boot even if the 
> network server failed to start, but  I think this is wrong for normal usage.
> http://www.nabble.com/Questions-about-Network-Server-API-Behavior-p5055814.html

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to