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
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs