lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Otis Gospodnetic (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (LUCENE-168) IndexWriter.mergeSegments bug
Date Sun, 09 Jul 2006 14:41:30 GMT
     [ http://issues.apache.org/jira/browse/LUCENE-168?page=all ]
     
Otis Gospodnetic resolved LUCENE-168:
-------------------------------------

    Resolution: Won't Fix
     Assign To:     (was: Lucene Developers)

Ancient bug report.  It seems like it's always on Windows platform and, from what I can tell
from various people's reports, it has to do with concurrency rules not being followed 100%.

> IndexWriter.mergeSegments bug
> -----------------------------
>
>          Key: LUCENE-168
>          URL: http://issues.apache.org/jira/browse/LUCENE-168
>      Project: Lucene - Java
>         Type: Bug

>   Components: Index
>     Versions: unspecified
>  Environment: Operating System: All
> Platform: Other
>     Reporter: A Stephen

>
> From: <anand@sonic.net>
> To: <otis_gospodnetic@yahoo.com>
> Cc: <lucene-user@jakarta.apache.org>; <anand@sonic.net>
> Subject: Re: IndexWriter.optimize bug in version 1.3-final?
> Date: Tuesday, January 06, 2004 12:25 PM
> The source code of the method.
> It fails at ( writer.optimize();// This is where it fails), which is not
> within a try/catch.
> It works great with the lucene-1.2 version but fails with the
> lucene-1.3-final.jar
> Any ideas would be appreciated.
> Apologies for posting this question to the dev list initially.
> ----                     code            ----
> public synchronized void index() throws Exception {
>         final ProductDocumentBuilder productDocument =
> ProductDocumentBuilder.getInstance();
>         productFactory = new ProductFactory(productHome, pgroupHome);
>         registerDocumentBuilder("ml.product", productDocument);
>         registerFactory("ml.product", productFactory);
>         logger.info("index() starting.");
>         logger.info("  loaded data, indexing");
>         // create the indexer
>         IndexWriter writer = new IndexWriter(workDir, new
> StandardAnalyzer(), true);
>         writer.mergeFactor = mergeFactor;
>         long start = System.currentTimeMillis();
>         // pass in a dummy new Object
>         Iterator allProducts = productFactory.contentIterate(new Object());
>         int i = 0;
>         while (allProducts.hasNext()) {
>             i++;
>             SearchProduct product = (SearchProduct) allProducts.next();
>             try {
>                 writer.addDocument(productDocument.getDocument(product));
>             } catch (Exception e) {
>                 logger.warn("Failed to index Product: " + product.getPK(),
> e);
>             }
>         }
>         writer.optimize();// This is where it fails
>         writer.close();
>         logger.info("  indexer took " + (System.currentTimeMillis() -
> start) + " milliseconds. To  index " + i + " products ");
>         productFactory.flush();
>     }
> --           end code -------------------
> - thank you,
> --a
> > This is a question for lucene-user list...redirecting.
> >
> > Looks okay, except it doesn't look like real code.  Also, you are
> > catching Exception and only logging it.  Maybe that exception hides the
> > source of the problem.
> >
> > Otis
> >
> > --- anand@sonic.net wrote:
> >> Greetings,
> >> I upgraded from  lucene-1.2.jar to lucene-1.3-final.jar
> >> (29-Dec-2003).
> >> I get the following error with the new version any ideas?
> >>
> >> <error>
> >> java.io.FileNotFoundException:
> >> C:\resin-2.1.4\ML4.1Admin_index.temp\_88.fnm (The system cannot find
> >> the
> >> file specified)
> >> at java.io.RandomAccessFile.open(Native Method)
> >> at java.io.RandomAccessFile.<init>(RandomAccessFile.java:98)
> >> at java.io.RandomAccessFile.<init>(RandomAccessFile.java:143)
> >> at
> >>
> > org.apache.lucene.store.FSInputStream$Descriptor.<init>(FSDirectory.java:389)
> >> at org.apache.lucene.store.FSInputStream.<init>(FSDirectory.java:418)
> >> at org.apache.lucene.store.FSDirectory.openFile(FSDirectory.java:291)
> >> at org.apache.lucene.index.FieldInfos.<init>(FieldInfos.java:80) at
> >> org.apache.lucene.index.SegmentReader.<init>(SegmentReader.java:138)
> >> at
> >>
> > org.apache.lucene.index.IndexWriter.mergeSegments(IndexWriter.java:423)
> >> at org.apache.lucene.index.IndexWriter.optimize(IndexWriter.java:311)
> >> </error>
> >>
> >> <code>
> >>        IndexWriter writer = new IndexWriter(<workDir>, new
> >> StandardAnalyzer(), true);
> >>         writer.mergeFactor = <mergeFactor>;
> >>        long start = System.currentTimeMillis();
> >>         // pass in a dummy new Object
> >>         Iterator iter;// returns approriate iterator
> >>         while (condition) {
> >>             try {
> >> 	   writer.addDocument(<doc>);
> >>             } catch (Exception e) {
> >>                 logger.error("Failed to index doc " );
> >>            }
> >>         }
> >>        writer.optimize();
> >>           writer.close();
> >>
> >> </code>
> >>
> >> -- anand stephen
> >>
> >>

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


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


Mime
View raw message