[ 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: <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Cc: <[email protected]>; <[EMAIL PROTECTED]>
> 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
> >
> > --- [EMAIL PROTECTED] 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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]