RFR 9: [testbug] 8168613 : CORBA ObjectStreamTest fails with address in use

Roger Riggs Roger.Riggs at Oracle.com
Tue Oct 25 21:28:33 UTC 2016


Hi Paul,

Thanks for explanation and suggestions.

I updated the webrev to use instance methods and fields and using 
synchronized.
(And a bit of long-line cleanup.)

webrev:
    http://cr.openjdk.java.net/~rriggs/webrev-orb-addrinuse-8168613/

Thanks, Roger


On 10/25/2016 5:18 PM, Paul Sandoz wrote:
>> On 25 Oct 2016, at 13:50, Roger Riggs <Roger.Riggs at Oracle.com> wrote:
>>
>> Hi,
>>
>> On 10/25/2016 4:31 PM, Paul Sandoz wrote:
>>> Hi Roger,
>>>
>>> Do you need to use a double-checked locking idiom in getEchoStub?
>> Probably not, I'm  just practicing the idiom.
>> We are unlikely to move to concurrent test execution in testng (when it supports it).
>>> I cannot recall the life-cycle of per test execution, but i suspect you might be able to turn the static field and method getEchoStub into a non-static field and just make the method synchronized, but you might ned to annotate the shutdown with @AfterClass instead.
>> That would work too.
>>
>> What's the rule for choosing synchronized vs volatile?  I've gotten different recommendations in different cases.
>> What's Occam's razor here?
> Double-checked locking requires both :-), so you can safely publish the singleton. It’s generally used when performance is a concern, otherwise i would go for the simpler solution which is more likely to be correct and easier to understand :-)
>
>
>>> Actually, perhaps even better initiate the ORB and create the stub in a @BeforeClass method and clean up in a @AfterClass method?
>> that would work, but it is only used in one of the tests.  So just trying to keep the usage localized.
>>
> Ah, yes, i see.
>
> Paul.
>



More information about the core-libs-dev mailing list