[ 
https://issues.apache.org/jira/browse/DERBY-4304?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mamta A. Satoor updated DERBY-4304:
-----------------------------------

    Attachment: DERBY4304_fixNPE_patch2_diff.txt

I am attaching(DERBY4304_fixNPE_patch2_diff.txt) a simple fix to NPE problem. 
During one of the shutdown steps, DERBY-4306 was throwing a npe(we have fixed 
DERBY-4306 now) and the shutdown exception handling code was calling following 
method on that npe
                       consolePropertyMessage("DRDA_UnexpectedException.S", 
exception.getMessage());
                       consoleExceptionPrintTrace(exception);
but the call exception.getMessage() on npe was returning null and 
consolePropertyMessage is not written to handle null 2nd param for this call of 
consolePropertyMessage. But the work done by this particular type of 
consolePropertyMessage method is also done by the next call in the shutdown 
exception handling which is consoleExceptionPrintTrace. Because of this, I have 
replaced the consolePropertyMessage("DRDA_UnexpectedException.S", 
exception.getMessage()); call with 
consolePropertyMessage("DRDA_UnexpectedException.S", true); This change makes 
sure we do not run into npe when exception.getMessage() is null. I am not sure 
if we should enter a new jira entry to make 
consolePropertyMessage("DRDA_UnexpectedException.S", exception.getMessage()); 
handle a null 2nd param. 

i ran junit tests and then ran into intermittent upgrade test failures. i am 
running derbyall and as soon as they are finished, i will go ahead and checkin 
the patch.

One last step remaining is may be write a new method which is a subset of 
consolePropertyMessage because consolePropertyMessage handles the exception 
printing and then goes ahead and throws the exception again. For our purposes 
in this jira entry, we do not want the exception to be thrown back. instead, we 
want to move on to the next step in server shutdown.



> Network Server shutdown should handle exceptions and finish the server 
> shutdown completely
> ------------------------------------------------------------------------------------------
>
>                 Key: DERBY-4304
>                 URL: https://issues.apache.org/jira/browse/DERBY-4304
>             Project: Derby
>          Issue Type: Improvement
>          Components: Network Server
>    Affects Versions: 10.6.0.0
>            Reporter: Mamta A. Satoor
>            Assignee: Mamta A. Satoor
>         Attachments: DERBY4304_fixNPE_patch2_diff.txt, 
> DERBY4304_handleExceptions_patch1_diff.txt
>
>
> While working on DERBY-4053, found that an exception from Connection.close 
> was not handled properly by the server shutdown code which caused a new 
> instance server startup to hang. Resolved the problem with Connection close 
> but in general, we should
> 1) Make sure an exception during shutdown processing does not prevent the 
> remaining shutdown tasks, like closing the server socket from occurring. 
> 2) Make sure any exceptions that occur in shutdown processing are reported to 
> the console. 

-- 
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