You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ma...@apache.org on 2013/02/16 20:20:06 UTC
svn commit: r1446928 - in
/lucene/dev/trunk/solr/core/src/java/org/apache/solr/update:
UpdateHandler.java UpdateLog.java
Author: markrmiller
Date: Sat Feb 16 19:20:05 2013
New Revision: 1446928
URL: http://svn.apache.org/r1446928
Log:
SOLR-4467: Ephemeral directory implementations may not recover correctly because the code to clear the tlog files on startup is off.
Modified:
lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/UpdateHandler.java
lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/UpdateLog.java
Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/UpdateHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/UpdateHandler.java?rev=1446928&r1=1446927&r2=1446928&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/UpdateHandler.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/UpdateHandler.java Sat Feb 16 19:20:05 2013
@@ -22,6 +22,8 @@ import java.io.File;
import java.io.IOException;
import java.util.Vector;
+import org.apache.solr.common.SolrException;
+import org.apache.solr.common.SolrException.ErrorCode;
import org.apache.solr.core.PluginInfo;
import org.apache.solr.core.SolrCore;
import org.apache.solr.core.SolrEventListener;
@@ -87,13 +89,14 @@ public abstract class UpdateHandler impl
private void clearLog(PluginInfo ulogPluginInfo) {
if (ulogPluginInfo == null) return;
File tlogDir = UpdateLog.getTlogDir(core, ulogPluginInfo);
+ log.info("Clearing tlog files, tlogDir=" + tlogDir);
if (tlogDir.exists()) {
String[] files = UpdateLog.getLogList(tlogDir);
for (String file : files) {
- File f = new File(file);
+ File f = new File(tlogDir, file);
boolean s = f.delete();
if (!s) {
- log.error("Could not remove tlog file:" + f);
+ throw new SolrException(ErrorCode.SERVER_ERROR, "Could not remove tlog file:" + f.getAbsolutePath());
}
}
}
Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/UpdateLog.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/UpdateLog.java?rev=1446928&r1=1446927&r2=1446928&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/UpdateLog.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/UpdateLog.java Sat Feb 16 19:20:05 2013
@@ -1398,16 +1398,16 @@ public class UpdateLog implements Plugin
public static File getTlogDir(SolrCore core, PluginInfo info) {
String dataDir = (String) info.initArgs.get("dir");
- if (dataDir == null) {
- String ulogDir = core.getCoreDescriptor().getUlogDir();
- if (ulogDir != null) {
- dataDir = ulogDir;
- }
-
- if (dataDir == null || dataDir.length() == 0) {
- dataDir = core.getDataDir();
- }
+
+ String ulogDir = core.getCoreDescriptor().getUlogDir();
+ if (ulogDir != null) {
+ dataDir = ulogDir;
}
+
+ if (dataDir == null || dataDir.length() == 0) {
+ dataDir = core.getDataDir();
+ }
+
return new File(dataDir, TLOG_NAME);
}