Re: RFR: 7056731: Race condition in CORBA code causes re-use of ABORTed connections

2012-08-15 Thread Lance Andersen - Oracle
Hi Sean,

This looks good.

Best
Lance
On Aug 14, 2012, at 12:38 PM, Seán Coffey wrote:

 I'm looking to forward port this corba fix from 6u34 to jdk8 (and eventually 
 port to 7u)
 
 d.macdon...@auckland.ac.nz originally reported this issue and I'll be marking 
 the fix as contributed by him. He's already signed the OCA. There's a good 
 description in bug report. We have a race like condition if the corba server 
 is shut down while there are still workers/client threads in a waiting queue 
 waiting for server. The issue arises when the purgeCalls method marks a 
 socket state as ABORTed or CLOSE_RECVD but fails to remove that socket from 
 the socket connectionCache. Fix is to wrap the removal of the socket in a 
 finally block.
 
 The CorbaResponseWaitingRoomImpl changes are more focused on ensuring that 
 the Map holding these clients is better synchronized.
 
 webrev : http://cr.openjdk.java.net/~coffeys/webrev.7056731.jdk8/ 
 http://cr.openjdk.java.net/%7Ecoffeys/webrev.7056731.jdk8/
 bug report : http://bugs.sun.com/view_bug.do?bug_id=7056731
 
 Regards,
 Sean.


Lance Andersen| Principal Member of Technical Staff | +1.781.442.2037
Oracle Java Engineering 
1 Network Drive 
Burlington, MA 01803
lance.ander...@oracle.com



RFR: 7056731: Race condition in CORBA code causes re-use of ABORTed connections

2012-08-14 Thread Seán Coffey
I'm looking to forward port this corba fix from 6u34 to jdk8 (and 
eventually port to 7u)


d.macdon...@auckland.ac.nz originally reported this issue and I'll be 
marking the fix as contributed by him. He's already signed the OCA. 
There's a good description in bug report. We have a race like condition 
if the corba server is shut down while there are still workers/client 
threads in a waiting queue waiting for server. The issue arises when the 
purgeCalls method marks a socket state as ABORTed or CLOSE_RECVD but 
fails to remove that socket from the socket connectionCache. Fix is to 
wrap the removal of the socket in a finally block.


The CorbaResponseWaitingRoomImpl changes are more focused on ensuring 
that the Map holding these clients is better synchronized.


webrev : http://cr.openjdk.java.net/~coffeys/webrev.7056731.jdk8/ 
http://cr.openjdk.java.net/%7Ecoffeys/webrev.7056731.jdk8/

bug report : http://bugs.sun.com/view_bug.do?bug_id=7056731

Regards,
Sean.