You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by ot...@apache.org on 2003/10/13 16:25:55 UTC

cvs commit: jakarta-lucene/src/java/org/apache/lucene/index SegmentReader.java

otis        2003/10/13 07:25:55

  Modified:    src/java/org/apache/lucene/index SegmentReader.java
  Log:
  - Changed code to use IndexWriter.WRITE_LOCK_NAME.
  - Cleaned up indentation a bit.
  
  Revision  Changes    Path
  1.12      +28 -22    jakarta-lucene/src/java/org/apache/lucene/index/SegmentReader.java
  
  Index: SegmentReader.java
  ===================================================================
  RCS file: /home/cvs/jakarta-lucene/src/java/org/apache/lucene/index/SegmentReader.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- SegmentReader.java	25 Sep 2003 22:01:51 -0000	1.11
  +++ SegmentReader.java	13 Oct 2003 14:25:54 -0000	1.12
  @@ -68,6 +68,11 @@
   import org.apache.lucene.store.Directory;
   import org.apache.lucene.util.BitVector;
   
  +/**
  + * FIXME: Describe class <code>SegmentReader</code> here.
  + *
  + * @version $Id$
  + */
   final class SegmentReader extends IndexReader {
     private boolean closeDirectory = false;
     private String segment;
  @@ -82,7 +87,7 @@
   
     InputStream freqStream;
     InputStream proxStream;
  -  
  +
     // Compound File Reader when based on a compound file segment
     CompoundFileReader cfsReader;
   
  @@ -94,21 +99,21 @@
     private Hashtable norms = new Hashtable();
   
     SegmentReader(SegmentInfo si, boolean closeDir)
  -       throws IOException {
  +    throws IOException {
       this(si);
       closeDirectory = closeDir;
     }
   
     SegmentReader(SegmentInfo si)
  -       throws IOException {
  +    throws IOException {
       super(si.dir);
       segment = si.name;
   
       // Use compound file directory for some files, if it exists
       Directory cfsDir = directory;
       if (directory.fileExists(segment + ".cfs")) {
  -        cfsReader = new CompoundFileReader(directory, segment + ".cfs");
  -        cfsDir = cfsReader;
  +      cfsReader = new CompoundFileReader(directory, segment + ".cfs");
  +      cfsDir = cfsReader;
       }
   
       // No compound file exists - use the multi-file format
  @@ -128,18 +133,19 @@
       openNorms(cfsDir);
     }
   
  -  
  +
     final synchronized void doClose() throws IOException {
       if (deletedDocsDirty) {
         synchronized (directory) {		  // in- & inter-process sync
  -        new Lock.With(directory.makeLock("commit.lock"), IndexWriter.COMMIT_LOCK_TIMEOUT) {
  -            public Object doBody() throws IOException {
  -              deletedDocs.write(directory, segment + ".tmp");
  -              directory.renameFile(segment + ".tmp", segment + ".del");
  -              directory.touchFile("segments");
  -              return null;
  -            }
  -          }.run();
  +        new Lock.With(directory.makeLock("IndexWriter.COMMIT_LOCK_NAME"),
  +          IndexWriter.COMMIT_LOCK_TIMEOUT) {
  +          public Object doBody() throws IOException {
  +            deletedDocs.write(directory, segment + ".tmp");
  +            directory.renameFile(segment + ".tmp", segment + ".del");
  +            directory.touchFile("segments");
  +            return null;
  +          }
  +        }.run();
         }
         deletedDocsDirty = false;
       }
  @@ -153,7 +159,7 @@
         proxStream.close();
   
       closeNorms();
  -    
  +
       if (cfsReader != null)
         cfsReader.close();
   
  @@ -168,7 +174,7 @@
     static final boolean usesCompoundFile(SegmentInfo si) throws IOException {
       return si.dir.fileExists(si.name + ".cfs");
     }
  -  
  +
     final synchronized void doDelete(int docNum) throws IOException {
       if (deletedDocs == null)
         deletedDocs = new BitVector(maxDoc());
  @@ -179,15 +185,15 @@
     final Vector files() throws IOException {
       Vector files = new Vector(16);
       final String ext[] = new String[] {
  -        "cfs", "fnm", "fdx", "fdt", "tii", "tis", "frq", "prx", "del"
  +      "cfs", "fnm", "fdx", "fdt", "tii", "tis", "frq", "prx", "del"
       };
  -    
  +
       for (int i=0; i<ext.length; i++) {
  -        String name = segment + "." + ext[i];
  -        if (directory.fileExists(name)) 
  -            files.addElement(name);
  +      String name = segment + "." + ext[i];
  +      if (directory.fileExists(name))
  +        files.addElement(name);
       }
  -    
  +
       for (int i = 0; i < fieldInfos.size(); i++) {
         FieldInfo fi = fieldInfos.fieldInfo(i);
         if (fi.isIndexed)
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: lucene-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: lucene-dev-help@jakarta.apache.org


Re: cvs commit: jakarta-lucene/src/java/org/apache/lucene/index SegmentReader.java

Posted by Otis Gospodnetic <ot...@yahoo.com>.
Wow.
Is nobody else paying attention to diffs??

Thanks Doug!
Otis

--- Doug Cutting <cu...@lucene.com> wrote:
> otis@apache.org wrote:
> >   - Changed code to use IndexWriter.WRITE_LOCK_NAME.
> 
> [ ... ]
> 
> >   +        new
> Lock.With(directory.makeLock("IndexWriter.COMMIT_LOCK_NAME"),
> 
> The constant shouldn't be in quotes, should it?
> 
> Ditto for your COMMIT_LOCK_NAME update.
> 
> Doug
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: lucene-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: lucene-dev-help@jakarta.apache.org
> 


__________________________________
Do you Yahoo!?
The New Yahoo! Shopping - with improved product search
http://shopping.yahoo.com

---------------------------------------------------------------------
To unsubscribe, e-mail: lucene-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: lucene-dev-help@jakarta.apache.org


Re: cvs commit: jakarta-lucene/src/java/org/apache/lucene/index SegmentReader.java

Posted by Doug Cutting <cu...@lucene.com>.
otis@apache.org wrote:
>   - Changed code to use IndexWriter.WRITE_LOCK_NAME.

[ ... ]

>   +        new Lock.With(directory.makeLock("IndexWriter.COMMIT_LOCK_NAME"),

The constant shouldn't be in quotes, should it?

Ditto for your COMMIT_LOCK_NAME update.

Doug


---------------------------------------------------------------------
To unsubscribe, e-mail: lucene-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: lucene-dev-help@jakarta.apache.org