Update of /var/cvs/contributions/lucene/src/org/mmbase/module/lucene In directory james.mmbase.org:/tmp/cvs-serv22670
Modified Files: Indexer.java Lucene.java Log Message: details. Made interrupting of jobs work better. Show which index is currelntly updated. See also: http://cvs.mmbase.org/viewcvs/contributions/lucene/src/org/mmbase/module/lucene Index: Indexer.java =================================================================== RCS file: /var/cvs/contributions/lucene/src/org/mmbase/module/lucene/Indexer.java,v retrieving revision 1.62 retrieving revision 1.63 diff -u -b -r1.62 -r1.63 --- Indexer.java 29 Sep 2008 11:15:22 -0000 1.62 +++ Indexer.java 12 Feb 2009 12:34:11 -0000 1.63 @@ -34,7 +34,7 @@ * * @author Pierre van Rooden * @author Michiel Meeuwissen - * @version $Id: Indexer.java,v 1.62 2008/09/29 11:15:22 pierre Exp $ + * @version $Id: Indexer.java,v 1.63 2009/02/12 12:34:11 michiel Exp $ **/ public class Indexer { @@ -246,6 +246,7 @@ public int deleteIndex(String number, Class<? extends IndexDefinition> klass) { int deleted = 0; int updated = 0; + OUTER: for (IndexDefinition indexDefinition : queries) { if (klass.isAssignableFrom(indexDefinition.getClass())) { IndexReader reader = null; @@ -266,6 +267,10 @@ } else { mains.add(main); } + if (Thread.currentThread().isInterrupted()) { + log.service("Interrupted"); + break OUTER; + } } } catch (Exception e) { addError(e.getMessage()); @@ -283,6 +288,9 @@ } } + if (Thread.currentThread().isInterrupted()) { + log.service("Interrupted"); + } } return deleted; @@ -300,6 +308,10 @@ } updated += index(j, writer, indexDefinition.getId()); j.close(); + if (Thread.currentThread().isInterrupted()) { + log.service("Interrupted"); + break; + } } } catch (FileNotFoundException fnfe) { log.debug(fnfe); @@ -352,6 +364,10 @@ } else { log.debug("Retained #" + i + " from " + indexId + " (!= " + indexDefinition.getId()); } + if (Thread.currentThread().isInterrupted()) { + log.service("Interrupted"); + break; + } } docs.close(); } catch (FileNotFoundException fnfe) { @@ -374,6 +390,10 @@ } } } + if (Thread.currentThread().isInterrupted()) { + log.service("Interrupted"); + break; + } } if (updated > 0) { log.service(getName() + ": Updated " + updated + " documents for '" + number + "'"); @@ -403,6 +423,10 @@ updated += update(indexDefinition, mains); } } + if (Thread.currentThread().isInterrupted()) { + log.service("Interrupted"); + break; + } } if (updated > 0) { log.service(getName() + ": " + updated + " new documents for '" + number + "'"); Index: Lucene.java =================================================================== RCS file: /var/cvs/contributions/lucene/src/org/mmbase/module/lucene/Lucene.java,v retrieving revision 1.127 retrieving revision 1.128 diff -u -b -r1.127 -r1.128 --- Lucene.java 12 Feb 2009 12:01:29 -0000 1.127 +++ Lucene.java 12 Feb 2009 12:34:11 -0000 1.128 @@ -48,7 +48,7 @@ * * @author Pierre van Rooden * @author Michiel Meeuwissen - * @version $Id: Lucene.java,v 1.127 2009/02/12 12:01:29 michiel Exp $ + * @version $Id: Lucene.java,v 1.128 2009/02/12 12:34:11 michiel Exp $ **/ public class Lucene extends ReloadableModule implements NodeEventListener, RelationEventListener, IdEventListener, AssignmentEvents.Listener { @@ -1280,21 +1280,24 @@ void newIndex(final String number, final Class klass) { assert klass != null; assign(new Assignment() { + Indexer current; public void run() { log.service("New index for " + number); status = BUSY_INDEX; for (Indexer indexer : indexerMap.values()) { + current = indexer; int updated = indexer.newIndex(number, klass); if (updated > 0) { log.service(indexer.getName() + ": " + updated + " new index entr" + (updated > 1 ? "ies" : "y")); } } + current = null; } public String idString() { return klass.getName() + number; } public String toString() { - return "NEW for " + number + " " + klass; + return "NEW for " + number + " " + klass + (current != null ? " (" + current.getName() + ")" : ""); } }); @@ -1303,21 +1306,24 @@ void updateIndex(final String number, final Class klass) { assert klass != null; assign(new Assignment() { + Indexer current; public void run() { log.debug("Update index for " + number); status = BUSY_INDEX; for (Indexer indexer : indexerMap.values()) { + current = indexer; int updated = indexer.updateIndex(number, klass); if (updated > 0) { log.service(indexer.getName() + ": Updated " + updated + " index entr" + (updated > 1 ? "ies" : "y")); } + current = null; } } public String idString() { return klass.getName() + number; } public String toString() { - return "UPDATE for " + number + " " + klass; + return "UPDATE for " + number + " " + klass + (current != null ? " (" + current.getName() + ")" : ""); } }); @@ -1326,18 +1332,21 @@ void deleteIndex(final String number, final Class klass) { assert klass != null; assign(new Assignment() { + Indexer current; public void run() { log.debug("delete index for " + number); // already logged in indexer.deleteIndex status = BUSY_INDEX; for (Indexer indexer : indexerMap.values()) { + current = indexer; indexer.deleteIndex(number, klass); } + current = null; } public String idString() { return klass.getName() + number; } public String toString() { - return "DELETE for " + number + " " + klass; + return "DELETE for " + number + " " + klass + (current != null ? " (" + current.getName() + ")" : ""); } }); } _______________________________________________ Cvs mailing list Cvs@lists.mmbase.org http://lists.mmbase.org/mailman/listinfo/cvs