RFR 8060068 : Remove the static initializer block from DriverManager

Lance Andersen lance.andersen at oracle.com
Wed Dec 3 15:06:37 UTC 2014

Hi Bernd,
On Dec 2, 2014, at 6:33 PM, Bernd Eckenfels <ecki at zusammenkunft.net> wrote:

> Hello Mandy and Lance,
> (sorry, not a full quote for more focused answers, inline)
> Am Tue, 02 Dec 2014 14:10:06 -0800
> schrieb Mandy Chung <mandy.chung at oracle.com>:
>> Would you be able to try this patch and see if the deadlocks are 
>> reproducible?  Lance has been trying to get customers to verify this 
>> patch as this code has been deadlock-prone.  Your feedback would be
>> very useful.
> Hm, I might be able to test it with the unit tests (once I get the
> binary to build). Currently I cant test the whole system with 8 or 9
> (do you think porting it to 7 might be straight forward?). I think the
> Unit tests have no reproducers for this issue, will check.

Yes, only change that needs to be done is to remove the change to use the limited doPrivileged which is trivial for JDK 7
>>> This does have two consequences which are related to this patch:
>>> a) #getConnection() is used quite often, as it tunnels through to a
>>> high performing pool (already mentioned as a good reason for DCL).
>> Once the drivers are loaded and initialized (once), getConnection
>> would not need any locking (it just checks the volatile boolean
>> field).
>> Do you see any potential performance issue with it?
> No, dont see a problem. I wanted to add another vote pro DCL.
DCL is still there

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

More information about the core-libs-dev mailing list