mirror of
https://github.com/yacy/yacy_search_server.git
synced 2024-09-19 00:01:41 +02:00
Fixes hanging FlushThread (see
http://forum.yacy-websuche.de/viewtopic.php?f=5&t=5447) by replacing put() method by the more robust add() to add a merge job to the queue.
This commit is contained in:
parent
f63fff9008
commit
74c7e8b686
|
@ -124,15 +124,15 @@ public class IODispatcher extends Thread {
|
|||
final MergeJob job = new MergeJob(f1, f2, factory, array, newFile);
|
||||
if (isAlive()) {
|
||||
try {
|
||||
this.mergeQueue.put(job);
|
||||
this.mergeQueue.add(job);
|
||||
if (f2 == null) {
|
||||
log.info("appended rewrite job of file " + f1.getName() + " to " + newFile.getName());
|
||||
} else {
|
||||
log.info("appended merge job of files " + f1.getName() + ", " + f2.getName() + " to " + newFile.getName());
|
||||
}
|
||||
} catch (final InterruptedException e) {
|
||||
log.warn("interrupted: " + e.getMessage(), e);
|
||||
array.mergeMount(f1, f2, factory, newFile, (int) Math.min(MemoryControl.available() / 3, this.writeBufferSize));
|
||||
} catch (final Exception e) {
|
||||
log.warn("Could not add merge job to queue: " + e.getMessage(), e);
|
||||
array.mergeMount(f1, f2, factory, newFile, (int) Math.min(MemoryControl.available() / 3, this.writeBufferSize));
|
||||
} finally {
|
||||
this.controlQueue.release();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user