On Fri, May 23, 2008 at 4:51 PM, sebb <[EMAIL PROTECTED]> wrote:
> On 23/05/2008, Niall Pemberton <[EMAIL PROTECTED]> wrote:
>> On Fri, May 23, 2008 at 3:31 PM, Luc Maisonobe <[EMAIL PROTECTED]> wrote:
>>  > Niall Pemberton a écrit :
>>  >> On Thu, May 22, 2008 at 9:35 PM, Luc Maisonobe <[EMAIL PROTECTED]> wrote:
>>  >>> A few comments on this release.
>>  >>>
>>  >>> Typo in the project description in the pom.xml file: replace
>>  >>> "implmentation" with "implementation".
>>  >>>
>>  >>> Extracting files from the commons-chain-1.2-src.tar.gz archive in a
>>  >>> Linux box leads to an all lower case file name for "license-header.txt",
>>  >>> which leads to an error when running "mvn site". Some plugin requires a
>>  >>> mixed case LICENSE-header.txt.
>>  >>
>>  >> Thanks, I fixed the typo and checkstyle config in the trunk:
>>  >>   http://svn.apache.org/viewvc?view=rev&revision=659361
>>  >>
>>  >> Anyone think we need a new RC for this?
>>  >
>>  > No, it is really minor.
>>  >
>>  >>
>>  >>> There are 39 findbugs errors. They don't seem too important. Many are
>>  >>> serialization related (missing serialVersionUID, transient fields) and
>>  >>> many are style related (redeclaration of interfaces from superclass). I
>>  >>> think the errors in ContextBase and web.ChainListener are false
>>  >>> positive. The MTIA_SUSPECT_SERVLET_INSTANCE_FIELD may be more
>>  >>> problematic, I know nothing about servlets so cannot judge this. I'm
>>  >>> attaching the findbug.html report file to this message.
>>  >>
>>  >> I don't see it attached - also I added findbugs to the pom and ran it
>>  >> and didn't see such an error
>>  >>   http://svn.apache.org/viewvc?view=rev&revision=659363
>>  >
>>  > Ooops. I forgot to join the page. Here it is. It was generated by
>>  > version 1.1.1 of the findbugs plugin, and the class files were compiled
>>  > with SunJDK 1.6 on a linux box.
>>
>>
>> Maybe its getting removed by the mailing list, because I still don't
>>  see it. I tried changing the version to 1.1.1 of findbugs and used JDK
>>  1.6 - but I still don't see it. AnywayI looked up that error here:
>>
>>  
>> http://findbugs.sourceforge.net/bugDescriptions.html#MTIA_SUSPECT_SERVLET_INSTANCE_FIELD
>>
>>  ...so I guess it must be referring to these fields:
>>  
>> http://people.apache.org/~niallp/chain_1_2_RC2/site/xref/org/apache/commons/chain/web/servlet/ChainProcessor.html#94
>>
>>  In thoses cases then this warning is not an issue - since its fine for
>>  all threads to use the same instance variables - three are just the
>>  names of attributes configured for the servlet. CatalogFactory is a
>>  singleton-per-ClassLoader and one instance should be shared by all
>>  threads for the servlet instance. Looking at the code I believe it
>>  "caches" the factory in the servlet to avoid the *synchronized* lookup
>>  in CatalogFactory.getInstance():
>>
>
> If the same instance is used by multiple threads, then any instance
> variables need to be either final, volatile or synchronized.

I don't think so in this case. These are *private* variables that are
set up by the Servlet when it is intialized[1] and removed when it
shut down[2] - these are the only times they're changed and are not
accesible by multiple threads. Once the servlet is intialialized then
they are *read* by multiple threads[3] as each request is processed.
So this is the case of *set-once* in a *thread-safe* manner and then
unchangable.

Niall

[1] 
http://people.apache.org/~niallp/chain_1_2_RC2/site/xref/org/apache/commons/chain/web/servlet/ChainProcessor.html#145
[2] 
http://people.apache.org/~niallp/chain_1_2_RC2/site/xref/org/apache/commons/chain/web/servlet/ChainProcessor.html#131
[3] 
http://people.apache.org/~niallp/chain_1_2_RC2/site/xref/org/apache/commons/chain/web/servlet/ChainProcessor.html#175

> Without one of these, there is no guarantee of memory visibility -
> thread A can set the value  of "catalog" and thread B may never see
> it.
>
>>  
>> http://people.apache.org/~niallp/chain_1_2_RC2/site/xref/org/apache/commons/chain/CatalogFactory.html#178
>>
>>  So if I'm looking at the right place then I don't believe this is an
>>  issue - if I'm not looking in the right place then please point me to
>>  the line number(s) your findbugs report is showing in the rc2 xref:
>>  http://people.apache.org/~niallp/chain_1_2_RC2/site/xref/index.html
>>
>>  Thanks
>>
>>
>>  Niall
>>
>>
>>  > Luc
>>  >>
>>  >> Niall
>>  >>
>>  >>> I don't cast any vote now, waiting for more knowledgeable people to look
>>  >>> at these servlet issues.
>>  >>>
>>  >>> Luc
>>  >>>
>>  >>> Oliver Heger wrote:
>>  >>>> +1
>>  >>>>
>>  >>>> Oliver
>>  >>>>
>>  >>>> Niall Pemberton wrote:
>>  >>>>> The main changes since RC1 are that the ant build now works on JDK 1.3
>>  >>>>> and the Logging dependency has been upgraded to the latest 1.1.1
>>  >>>>>
>>  >>>>> The artifacts are here:
>>  >>>>> http://people.apache.org/~niallp/chain_1_2_RC2/
>>  >>>>>
>>  >>>>> SVN Tag:
>>  >>>>> http://svn.apache.org/viewvc/commons/proper/chain/tags/CHAIN_1_2_RC2/
>>  >>>>>
>>  >>>>> Site:
>>  >>>>> http://people.apache.org/~niallp/chain_1_2_RC2/site/
>>  >>>>> (note m2 generates relative links, so some don't work - but the site
>>  >>>>> is for info and not included in the release artifacts)
>>  >>>>>
>>  >>>>> Release Notes:
>>  >>>>> http://people.apache.org/~niallp/chain_1_2_RC2/RELEASE-NOTES.txt
>>  >>>>> 
>> http://people.apache.org/~niallp/chain_1_2_RC2/site/changes-report.html
>>  >>>>>
>>  >>>>> RAT Report:
>>  >>>>> http://people.apache.org/~niallp/chain_1_2_RC2/site/rat-report.html
>>  >>>>>
>>  >>>>> CLIRR Report:
>>  >>>>> http://people.apache.org/~niallp/chain_1_2_RC2/site/clirr-report.html
>>  >>>>>
>>  >>>>> RC2 has been built with m2 - but m1 and ant builds are available - 
>> details here:
>>  >>>>> http://people.apache.org/~niallp/chain_1_2_RC2/site/building.html
>>  >>>>>
>>  >>>>> Note: Chain is targetted at JDK 1.3, but I built with JDK 1.5 because
>>  >>>>> of the issue with m2 and JDK 1.4 - but I have tested on JDK 1.3 and
>>  >>>>> JDK 1.4 using m1 & ant and JDK 1.5 and JDK 1.6 using m2
>>  >>>>>
>>  >>>>> Vote is open for 72 hours
>>  >>>>>
>>  >>>>> Thanks in advance for your feedback/votes.
>>  >>>>>
>>  >>>>> Niall
>>  >>>>> 
>> ------------------------------------------------------------------------------------------------------------->
>>  >>>>>
>>  >>>>> [  ] +1  I support this release
>>  >>>>> [  ] +0  I am OK with this release
>>  >>>>> [  ] -0   OK, but....
>>  >>>>> [  ] -1   I do not support this release
>>  >>>>>
>>  >>>>> ---------------------------------------------------------------------
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to