Re: Second Code Review for WeakReference leak in the Logging API (6942989)

2010-07-02 Thread Daniel D. Daugherty
On 7/2/2010 11:56 AM, Jeremy Manson wrote: Hi Dan, I don't know what AnonLoggerWeakRefTest looks like, Check out the webrevs in the review requests. I included the tests in the those reviews. but I am fairly confident that if you create a few million loggers and then drop down to one or two

Re: Second Code Review for WeakReference leak in the Logging API (6942989)

2010-07-02 Thread Jeremy Manson
Hi Dan, I don't know what AnonLoggerWeakRefTest looks like, but I am fairly confident that if you create a few million loggers and then drop down to one or two, the backing array of the Hashtable will still be bigger than it should be. Still, no real harm done - that's a fairly unusual situation.

Re: Second Code Review for WeakReference leak in the Logging API (6942989)

2010-06-29 Thread Daniel D. Daugherty
Jeremy, Closing the loop on this part of the thread. I don't think there are any more leaks left after the fix is applied. Here are the entries I added the "public comments" section of the bug. For some reason that bug is _still_ not showing up on the OpenJDK site. === *Public Comments* ===

Re: Second Code Review for WeakReference leak in the Logging API (6942989)

2010-06-24 Thread Daniel D. Daugherty
On 6/24/2010 9:35 AM, Andrew John Hughes wrote: On 21 June 2010 22:29, Daniel D. Daugherty wrote: David H. and Alan B., Since you two were first round code reviewers, it would be good to hear from you guys on the second round. Jeremy, It would also be good to hear from you since you had a

Re: Second Code Review for WeakReference leak in the Logging API (6942989)

2010-06-24 Thread Andrew John Hughes
On 21 June 2010 22:29, Daniel D. Daugherty wrote: > David H. and Alan B., > > Since you two were first round code reviewers, it would be good to hear > from you guys on the second round. > > Jeremy, > > It would also be good to hear from you since you had also fixed this > bug in Google's code bas

Re: Second Code Review for WeakReference leak in the Logging API (6942989)

2010-06-23 Thread Daniel D. Daugherty
On 6/23/2010 12:38 PM, Jeremy Manson wrote: Hi Daniel, I'm sorry I missed this (I heavily filter these lists, and check rarely). This time I specifically left you on the "To" list rather than editing down to just the list aliases. My main feeling is that you are missing a good bet by not

Re: Second Code Review for WeakReference leak in the Logging API (6942989)

2010-06-23 Thread Jeremy Manson
Hi Daniel, I'm sorry I missed this (I heavily filter these lists, and check rarely). My main feeling is that you are missing a good bet by not reconstructing the Hashtable in LogManager and the ArrayList in Logger every so often when you remove the loggers. In a test case where there are a LOT o

Re: Second Code Review for WeakReference leak in the Logging API (6942989)

2010-06-22 Thread Daniel D. Daugherty
On 6/22/2010 2:34 PM, Alan Bateman wrote: Daniel D. Daugherty wrote: : Here is the URL for the webrev: http://cr.openjdk.java.net/~dcubed/6942989-webrev/1/ Thanks, in advance, for any reviews. Sorry for the late reply. Using the reference queue is much better. I've looked through the new

Re: Second Code Review for WeakReference leak in the Logging API (6942989)

2010-06-22 Thread Alan Bateman
Daniel D. Daugherty wrote: : Here is the URL for the webrev: http://cr.openjdk.java.net/~dcubed/6942989-webrev/1/ Thanks, in advance, for any reviews. Sorry for the late reply. Using the reference queue is much better. I've looked through the new webrev and the approach seems reasonable.

Re: Second Code Review for WeakReference leak in the Logging API (6942989)

2010-06-22 Thread Daniel D. Daugherty
Folks, We missed the T&L JDK7-B100 cutoff which was Monday @ 1800 PT. That means this fix will hit the various update releases before it hits JDK7. At this point, I'm really going to need those re-reviews in order to make a good case that this fix can go into an update without bake time in JDK7.

Re: Second Code Review for WeakReference leak in the Logging API (6942989)

2010-06-21 Thread Daniel D. Daugherty
David H. and Alan B., Since you two were first round code reviewers, it would be good to hear from you guys on the second round. Jeremy, It would also be good to hear from you since you had also fixed this bug in Google's code base. At this point, I've heard from Eamonn McManus and Tony Printe

Re: Second Code Review for WeakReference leak in the Logging API (6942989)

2010-06-18 Thread Daniel D. Daugherty
Credit where credit is due... That was David Holmes *and* Alan Bateman that were politely pushing me to put limits on the number of Logger objects being cleaned up... Dan On 6/18/2010 1:25 PM, Daniel D. Daugherty wrote: Greetings, I have a new version of my fix for the WeakReference leak in

Second Code Review for WeakReference leak in the Logging API (6942989)

2010-06-18 Thread Daniel D. Daugherty
Greetings, I have a new version of my fix for the WeakReference leak in the Logging API done. This version uses ReferenceQueues; thanks to Eamonn McManus, Jeremy Manson and Tony Printezis for their insights on using ReferenceQueues. Here's a pointer to Tony's paper for background info: http:

Re: Code Review for WeakReference leak in the Logging API (6942989)

2010-06-15 Thread Daniel D. Daugherty
Revisiting this e-mail now that I've completed a first pass at a ReferenceQueue implementation. On 6/11/2010 10:36 AM, Eamonn McManus wrote: I think an alternative approach to the one here would be to use a global ReferenceQueue and a subclass of WeakReference that has a pointer back to the Log

Re: Code Review for WeakReference leak in the Logging API (6942989)

2010-06-15 Thread Jeremy Manson
Okay. It sounds as if the changes were helpful, anyway. I'll be interested to see what you do. Jeremy On Mon, Jun 14, 2010 at 4:20 PM, Daniel D. Daugherty wrote: > On 6/14/2010 12:36 PM, Jeremy Manson wrote: >> >> Daniel, >> >> We're happy to contribute.  Like you, we had a customer complaint,

Re: Code Review for WeakReference leak in the Logging API (6942989)

2010-06-14 Thread Daniel D. Daugherty
On 6/14/2010 12:36 PM, Jeremy Manson wrote: Daniel, We're happy to contribute. Like you, we had a customer complaint, which is why this happened. And I see that you did this work against an earlier bug. I've made myself the RE for 6931561 and I've update the evaluation to indicate that I'm

Re: Code Review for WeakReference leak in the Logging API (6942989)

2010-06-14 Thread Jeremy Manson
Daniel, We're happy to contribute. Like you, we had a customer complaint, which is why this happened. My suspicion is that we don't have access to the VM/NSK test suite. Feel free to run the patch against it. Jeremy On Mon, Jun 14, 2010 at 10:45 AM, Daniel D. Daugherty wrote: > On 6/14/2010 1

Re: Code Review for WeakReference leak in the Logging API (6942989)

2010-06-14 Thread Daniel D. Daugherty
On 6/14/2010 11:30 AM, Jeremy Manson wrote: Daniel, The fix hasn't made it to OpenJDK6. We were planning on pushing it to OpenJDK6/7, but we haven't had time for it yet. If your fix is better (I haven't had a chance to look at it), then we'll happily drop ours in favor of yours. I will be

Re: Code Review for WeakReference leak in the Logging API (6942989)

2010-06-14 Thread Jeremy Manson
Daniel, The fix hasn't made it to OpenJDK6. We were planning on pushing it to OpenJDK6/7, but we haven't had time for it yet. If your fix is better (I haven't had a chance to look at it), then we'll happily drop ours in favor of yours. For testing: I hand tested it with the "create lots of anon

Re: Code Review for WeakReference leak in the Logging API (6942989)

2010-06-14 Thread Mandy Chung
Daniel D. Daugherty wrote: On 6/11/2010 2:09 PM, Mandy Chung wrote: Daniel D. Daugherty wrote: The theory is that there shouldn't be too many Logger objects in a normal system and once they have been added, then this fix doesn't come into play. I would be surprised if a real system had more th

Re: Code Review for WeakReference leak in the Logging API (6942989)

2010-06-14 Thread Daniel D. Daugherty
On 6/11/2010 4:41 PM, Martin Buchholz wrote: On Fri, Jun 11, 2010 at 14:46, Daniel D. Daugherty wrote: Jeremy, I'm definitely interested in learning about your approach to this issue. Here's the patch against openjdk6 by Jeremy. http://cr.openjdk.java.net/~martin/WeakLogger-jeremyman

Re: Code Review for WeakReference leak in the Logging API (6942989)

2010-06-14 Thread Daniel D. Daugherty
On 6/11/2010 2:39 PM, Alan Bateman wrote: Daniel D. Daugherty wrote: : Either of those schemes would be fine, but not for this fix and not without a good reason to do so. The theory is that there shouldn't be too many Logger objects in a normal system and once they have been added, then this fix

Re: Code Review for WeakReference leak in the Logging API (6942989)

2010-06-14 Thread Daniel D. Daugherty
On 6/11/2010 2:09 PM, Mandy Chung wrote: Daniel D. Daugherty wrote: The theory is that there shouldn't be too many Logger objects in a normal system and once they have been added, then this fix doesn't come into play. I would be surprised if a real system had more than 100 Logger objects. FYI

Re: Code Review for WeakReference leak in the Logging API (6942989)

2010-06-14 Thread Daniel D. Daugherty
On 6/11/2010 2:02 PM, Alan Bateman wrote: Eamonn McManus wrote: I think an alternative approach to the one here would be to use a global ReferenceQueue and a subclass of WeakReference that has a pointer back to the Logger or LogNode that contains this WeakReference. Then, in the cases where yo

Re: Code Review for WeakReference leak in the Logging API (6942989)

2010-06-14 Thread Daniel D. Daugherty
Eamonn, Thanks for the review! I didn't know about ReferenceQueues so that's a very interesting idea. I guess I need to get out of the VM codebase a little more often... :-) Jumping ahead in the e-mail thread, Jeremy Manson from Google has offered the use of their fix for the problem. It looks l

Re: Code Review for WeakReference leak in the Logging API (6942989)

2010-06-11 Thread Martin Buchholz
On Fri, Jun 11, 2010 at 14:46, Daniel D. Daugherty wrote: > Jeremy, > > I'm definitely interested in learning about your approach to this issue. Here's the patch against openjdk6 by Jeremy. http://cr.openjdk.java.net/~martin/WeakLogger-jeremymanson.patch (It would take a bit of merging to port to

Re: Code Review for WeakReference leak in the Logging API (6942989)

2010-06-11 Thread Daniel D. Daugherty
Jeremy, I'm definitely interested in learning about your approach to this issue. Dan On 6/11/2010 12:55 PM, Jeremy Manson wrote: We also fixed this bug internally at Google (sending the patch out was a TODO, but we never got around to it). If you have any interest in comparing / contrasting

Re: Code Review for WeakReference leak in the Logging API (6942989)

2010-06-11 Thread Alan Bateman
Daniel D. Daugherty wrote: : Either of those schemes would be fine, but not for this fix and not without a good reason to do so. The theory is that there shouldn't be too many Logger objects in a normal system and once they have been added, then this fix doesn't come into play. I would be surpris

Re: Code Review for WeakReference leak in the Logging API (6942989)

2010-06-11 Thread Mandy Chung
Daniel D. Daugherty wrote: The theory is that there shouldn't be too many Logger objects in a normal system and once they have been added, then this fix doesn't come into play. I would be surprised if a real system had more than 100 Logger objects. FYI. AWT creates a number of loggers (see

Re: Code Review for WeakReference leak in the Logging API (6942989)

2010-06-11 Thread Alan Bateman
Eamonn McManus wrote: I think an alternative approach to the one here would be to use a global ReferenceQueue and a subclass of WeakReference that has a pointer back to the Logger or LogNode that contains this WeakReference. Then, in the cases where you currently check for stale entries, you c

Re: Code Review for WeakReference leak in the Logging API (6942989)

2010-06-11 Thread Jeremy Manson
We also fixed this bug internally at Google (sending the patch out was a TODO, but we never got around to it). If you have any interest in comparing / contrasting approaches, let us know. Jeremy On Thu, Jun 10, 2010 at 10:13 AM, Daniel D. Daugherty wrote: > Greetings, > > I need a couple of cod

Re: Code Review for WeakReference leak in the Logging API (6942989)

2010-06-11 Thread Eamonn McManus
I think an alternative approach to the one here would be to use a global ReferenceQueue and a subclass of WeakReference that has a pointer back to the Logger or LogNode that contains this WeakReference. Then, in the cases where you currently check for stale entries, you could simply poll the Re

Re: Code Review for WeakReference leak in the Logging API (6942989)

2010-06-11 Thread Daniel D. Daugherty
On 6/11/2010 7:18 AM, Alan Bateman wrote: Daniel D. Daugherty wrote: : Here is the URL for the webrev: http://cr.openjdk.java.net/~dcubed/6942989-webrev/0/ I went through the changes too. Thanks! I agree with the performance concern with expunging stale entries each time a LogManager

Re: Code Review for WeakReference leak in the Logging API (6942989)

2010-06-11 Thread Alan Bateman
Daniel D. Daugherty wrote: : Here is the URL for the webrev: http://cr.openjdk.java.net/~dcubed/6942989-webrev/0/ I went through the changes too. I agree with the performance concern with expunging stale entries each time a LogManager is created. Would it make sense to do this once every

Re: Code Review for WeakReference leak in the Logging API (6942989)

2010-06-10 Thread Daniel D. Daugherty
On 6/10/2010 8:10 PM, David Holmes wrote: Daniel D. Daugherty said the following on 06/11/10 11:50: On 6/10/2010 7:08 PM, David Holmes wrote: I wonder about the performance implications of doing this search each time a logger is added? These types of cleanups are always a fine line between min

Re: Code Review for WeakReference leak in the Logging API (6942989)

2010-06-10 Thread David Holmes
Daniel D. Daugherty said the following on 06/11/10 11:50: On 6/10/2010 7:08 PM, David Holmes wrote: I wonder about the performance implications of doing this search each time a logger is added? These types of cleanups are always a fine line between minimizing cleanup up on the main path, and en

Re: Code Review for WeakReference leak in the Logging API (6942989)

2010-06-10 Thread Daniel D. Daugherty
On 6/10/2010 7:08 PM, David Holmes wrote: Hi Dan, I'm surprised to see that the VM team "owns" this one :) I'm on the "Serviceability Team". We get all the strange technology areas... :-) Daniel D. Daugherty said the following on 06/11/10 03:13: I need a couple of code reviews for my fix f

Re: Code Review for WeakReference leak in the Logging API (6942989)

2010-06-10 Thread David Holmes
Hi Dan, I'm surprised to see that the VM team "owns" this one :) Daniel D. Daugherty said the following on 06/11/10 03:13: I need a couple of code reviews for my fix for the WeakReference leak in the Logging API. The webrev is relative to OpenJDK7, but the bug is escalated so the fix will be ba

Code Review for WeakReference leak in the Logging API (6942989)

2010-06-10 Thread Daniel D. Daugherty
Greetings, I need a couple of code reviews for my fix for the WeakReference leak in the Logging API. The webrev is relative to OpenJDK7, but the bug is escalated so the fix will be backported to the JDK6-Update train. That's why I need at least two code reviewers. Here is the URL for the webrev: