Curt Arnold wrote:
There were two fairly long threads this summer on the topics raised in this thread (http://marc.theaimsgroup.com/?l=log4j- dev&m=111901190409097&w=2 and http://marc.theaimsgroup.com/? t=112094138900003&r=1&w=2). I haven't seen any new issues here, just a reiteration that we are not in a happy place at the moment.I'll have to review those threads... Basically, 1.2 and 1.3 are not binary (aka classfile) or serialization compatible at the moment. It is definitely possible you will get a class loader exception if you run code compiled against 1.2 with a log4j 1.3 jar. The breaking of binary compatibility occurred before most of the current developers became involved and we are trying to restore binary compatibility, but obviously would have liked to have made more progress. One of the reasons that we are still calling 1.3 an alpha is we want to change that which will likely break some code that was compiled against earlier log4j 1.3 alphas.That all makes good sense. I do believe that
Resolving the "deadlock issue" (bug 24259 and 33855) in my opinion will require breaking the existing threading contract which will likely cause applications that depend on the current behavior to break.Understood. As such, I do not think that there is a possible fix except in the forthcoming 2.0 branch (which would not be constrained to binary compatibility) and then it may require a bit of experimentation to find the right tack.That seems *way* too far off given that 1.3's release timeframe itself is still quite hazy. If this cannot be resolved in any definitive near term then I guess it is time to start my converting to JULI now... I understand and accept that this will break some applications, but 1.3 seems like a fine time and place to do this -- assuming 1.3 releases some time in the next 6 months. My personal preference would be to rework a lot of the formatting and dispatching code to be more verifiably thread safe and use finer grain locking than what we currently have, but as a project we can't make those types of decisions until we see some code. The issue is not a regression, just a downside of the threading strategy that has been in log4j for a long time.Understood, but a timeframe for addressing the issue -- without unnecessarily introducing other compatibility issues -- is still necessary. It may be possible to improve the locking behavior for a particular application in a branch of either 1.2 or 1.3 (at the potential expense of breaking or changing the performance of other apps), but I don't think we can offer a general purpose improvement in the 1.x releases.I think we must in 1.3. On the other hand, I've not seen the deadlock in my application yet, so it may never hit it. The specter of such an issue cannot be accepted for long, however. -- Jess Holle |
- Re: Log4j 1.3 Woes Jess Holle
- Re: Log4j 1.3 Woes Mark Womack
- Re: Log4j 1.3 Woes Jess Holle
- Re: Log4j 1.3 Woes Jess Holle
- Re: Log4j 1.3 Woes Paul Smith
- Re: Log4j 1.3 Woes (Partial Fix and Sugg... Jess Holle
- Re: Log4j 1.3 Woes (Partial Fix and ... Jess Holle
- Re: Log4j 1.3 Woes (Partial Fix and ... Jess Holle
- Re: Log4j 1.3 Woes Mark Womack
- Re: Log4j 1.3 Woes Jess Holle
- Re: Log4j 1.3 Woes Elias Ross
