You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by sh...@apache.org on 2016/03/08 21:13:33 UTC
lucene-solr git commit: SOLR-8793: Fix stale commit files' size
computation in LukeRequestHandler
Repository: lucene-solr
Updated Branches:
refs/heads/master e490b329b -> 4384627f0
SOLR-8793: Fix stale commit files' size computation in LukeRequestHandler
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/4384627f
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/4384627f
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/4384627f
Branch: refs/heads/master
Commit: 4384627f0891e4dc3232d3c7f20a54bc9224365c
Parents: e490b32
Author: Shai Erera <sh...@apache.org>
Authored: Tue Mar 8 22:11:18 2016 +0200
Committer: Shai Erera <sh...@apache.org>
Committed: Tue Mar 8 22:13:21 2016 +0200
----------------------------------------------------------------------
solr/CHANGES.txt | 5 +++++
.../apache/solr/handler/admin/LukeRequestHandler.java | 12 +++++++++++-
2 files changed, 16 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/4384627f/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index ecf8b32..d094b58 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -423,6 +423,11 @@ Bug Fixes
* SOLR-8712: Variable solr.core.instanceDir was not being resolved (Kristine
Jetzke, Shawn Heisey, Alan Woodward)
+* SOLR-8793: Fix Core admin status API to not fail when computing the size of the segments_N
+ file if the file no longer exists (for example, if a commit happened and the IndexReader
+ hasn't refreshed yet). In this case the reported size of the file is -1.
+ (Shai Erera, Alexey Serba, Richard Coggins)
+
======================= 5.5.0 =======================
Consult the LUCENE_CHANGES.txt file for additional, low level, changes in this release
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/4384627f/solr/core/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java
index 0ec6d79..450a505 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java
@@ -582,7 +582,7 @@ public class LukeRequestHandler extends RequestHandlerBase
IndexCommit indexCommit = reader.getIndexCommit();
String segmentsFileName = indexCommit.getSegmentsFileName();
indexInfo.add("segmentsFile", segmentsFileName);
- indexInfo.add("segmentsFileSizeInBytes", indexCommit.getDirectory().fileLength(segmentsFileName));
+ indexInfo.add("segmentsFileSizeInBytes", getFileLength(indexCommit.getDirectory(), segmentsFileName));
Map<String,String> userData = indexCommit.getUserData();
indexInfo.add("userData", userData);
String s = userData.get(SolrIndexWriter.COMMIT_TIME_MSEC_KEY);
@@ -592,6 +592,16 @@ public class LukeRequestHandler extends RequestHandlerBase
return indexInfo;
}
+ private static long getFileLength(Directory dir, String filename) {
+ try {
+ return dir.fileLength(filename);
+ } catch (IOException e) {
+ // Whatever the error is, only log it and return -1.
+ log.warn("Error getting file length for [{}]", filename, e);
+ return -1;
+ }
+ }
+
/** Returns the sum of RAM bytes used by each segment */
private static long getIndexHeapUsed(DirectoryReader reader) {
long indexHeapRamBytesUsed = 0;