flush name storage periodically the same way we do for indices

This commit is contained in:
Maxim.Mossienko
2011-08-23 16:03:00 +04:00
parent 09478bf43f
commit bc2cc8d2a8
3 changed files with 12 additions and 0 deletions
@@ -25,6 +25,7 @@ import java.io.InputStream;
import java.io.OutputStream;
public abstract class SerializationManager {
public static SerializationManager getInstance() {
return ApplicationManager.getApplication().getComponent(SerializationManager.class);
}
@@ -40,4 +41,6 @@ public abstract class SerializationManager {
public abstract boolean isNameStorageCorrupted();
public abstract void repairNameStorage();
public abstract void flushNameStorage();
}
@@ -111,6 +111,11 @@ public class SerializationManagerImpl extends SerializationManager implements Ap
}
}
@Override
public void flushNameStorage() {
myNameStorage.force();
}
public void registerSerializer(@NotNull StubSerializer<? extends StubElement> serializer) {
myAllSerializers.add(serializer);
try {
@@ -636,6 +636,10 @@ public class FileBasedIndex implements ApplicationComponent {
requestRebuild(indexId);
}
}
if (!HeavyProcessLatch.INSTANCE.isRunning() && modCount == myLocalModCount) { // do not interfere with 'main' jobs
SerializationManager.getInstance().flushNameStorage();
}
}
/**