lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ken Geis (JIRA)" <>
Subject [jira] Created: (LUCENE-670) improper isolation (overuse of system properties) allows Lucene apps to clobber each other
Date Fri, 08 Sep 2006 00:32:23 GMT
improper isolation (overuse of system properties) allows Lucene apps to clobber each other

                 Key: LUCENE-670
             Project: Lucene - Java
          Issue Type: Bug
          Components: Index, Store
    Affects Versions: 2.0.0, 1.9
         Environment: Tomcat
            Reporter: Ken Geis
            Priority: Critical

As nicely stated by the Javadoc for,
"System properties are global in nature, so using them easily violates sound architectural
and design principles for maintaining separation between components and runtime environments."
 Lucene's use of system properties makes it so that one web application that uses Lucene can
break another web application that uses Lucene.

Both org.apache.lucene.index.SegmentReader and use system
properties to locate an implementation class.  Because of this, two applications can step
on each others' toes.

So, I have two webapps running in Tomcat.  One uses the Compass Framework which sets the SegmentReader
implementation class to org.apache.lucene.index.CompassSegmentReader.  My other webapp tries
to initialize SegmentReader in a different classloader, and it fails with an ExceptionInInitializerError
because it can't load that class.  If I get lucky, the non-Compass webapp loads first and
things run smoothly.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message