mirror of https://github.com/apache/lucene.git
SOLR-3990: Moves getIndexSize() from ReplicationHandler to SolrCore
This commit is contained in:
parent
eb2a8ba2ee
commit
bd39ae9c9d
|
@ -386,6 +386,7 @@ Other Changes
|
|||
* SOLR-9915: PeerSync alreadyInSync check is not backwards compatible and results in full replication during a rolling restart
|
||||
(Tim Owen via noble)
|
||||
|
||||
* SOLR-3990: Moves getIndexSize() from ReplicationHandler to SolrCore (Shawn Heisey)
|
||||
|
||||
================== 6.3.0 ==================
|
||||
|
||||
|
|
|
@ -146,6 +146,7 @@ import org.apache.solr.update.processor.UpdateRequestProcessorChain;
|
|||
import org.apache.solr.update.processor.UpdateRequestProcessorChain.ProcessorInfo;
|
||||
import org.apache.solr.update.processor.UpdateRequestProcessorFactory;
|
||||
import org.apache.solr.util.DefaultSolrThreadFactory;
|
||||
import org.apache.solr.util.NumberUtils;
|
||||
import org.apache.solr.util.PropertiesInputStream;
|
||||
import org.apache.solr.util.RefCounted;
|
||||
import org.apache.solr.util.plugin.NamedListInitializedPlugin;
|
||||
|
@ -391,6 +392,22 @@ public final class SolrCore implements SolrInfoMBean, Closeable {
|
|||
public IndexReaderFactory getIndexReaderFactory() {
|
||||
return indexReaderFactory;
|
||||
}
|
||||
|
||||
public long getIndexSize() {
|
||||
Directory dir;
|
||||
long size = 0;
|
||||
try {
|
||||
dir = directoryFactory.get(getIndexDir(), DirContext.DEFAULT, solrConfig.indexConfig.lockType);
|
||||
try {
|
||||
size = DirectoryFactory.sizeOfDirectory(dir);
|
||||
} finally {
|
||||
directoryFactory.release(dir);
|
||||
}
|
||||
} catch (IOException e) {
|
||||
SolrException.log(log, "IO error while trying to get the size of the Directory", e);
|
||||
}
|
||||
return size;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
|
@ -2653,6 +2670,9 @@ public final class SolrCore implements SolrInfoMBean, Closeable {
|
|||
lst.add("refCount", getOpenCount());
|
||||
lst.add("instanceDir", resourceLoader.getInstancePath());
|
||||
lst.add("indexDir", getIndexDir());
|
||||
long size = getIndexSize();
|
||||
lst.add("sizeInBytes", size);
|
||||
lst.add("size", NumberUtils.readableSize(size));
|
||||
|
||||
CoreDescriptor cd = getCoreDescriptor();
|
||||
if (cd != null) {
|
||||
|
|
|
@ -813,22 +813,6 @@ public class ReplicationHandler extends RequestHandlerBase implements SolrCoreAw
|
|||
numTimesReplicated++;
|
||||
}
|
||||
|
||||
long getIndexSize() {
|
||||
Directory dir;
|
||||
long size = 0;
|
||||
try {
|
||||
dir = core.getDirectoryFactory().get(core.getIndexDir(), DirContext.DEFAULT, core.getSolrConfig().indexConfig.lockType);
|
||||
try {
|
||||
size = core.getDirectoryFactory().size(dir);
|
||||
} finally {
|
||||
core.getDirectoryFactory().release(dir);
|
||||
}
|
||||
} catch (IOException e) {
|
||||
SolrException.log(LOG, "IO error while trying to get the size of the Directory", e);
|
||||
}
|
||||
return size;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDescription() {
|
||||
return "ReplicationHandler provides replication of index and configuration files from Master to Slaves";
|
||||
|
@ -855,7 +839,7 @@ public class ReplicationHandler extends RequestHandlerBase implements SolrCoreAw
|
|||
public NamedList getStatistics() {
|
||||
NamedList list = super.getStatistics();
|
||||
if (core != null) {
|
||||
list.add("indexSize", NumberUtils.readableSize(getIndexSize()));
|
||||
list.add("indexSize", NumberUtils.readableSize(core.getIndexSize()));
|
||||
CommitVersionInfo vInfo = (core != null && !core.isClosed()) ? getIndexVersion(): null;
|
||||
list.add("indexVersion", null == vInfo ? 0 : vInfo.version);
|
||||
list.add(GENERATION, null == vInfo ? 0 : vInfo.generation);
|
||||
|
@ -907,7 +891,7 @@ public class ReplicationHandler extends RequestHandlerBase implements SolrCoreAw
|
|||
NamedList<Object> master = new SimpleOrderedMap<>();
|
||||
NamedList<Object> slave = new SimpleOrderedMap<>();
|
||||
|
||||
details.add("indexSize", NumberUtils.readableSize(getIndexSize()));
|
||||
details.add("indexSize", NumberUtils.readableSize(core.getIndexSize()));
|
||||
details.add("indexPath", core.getIndexDir());
|
||||
details.add(CMD_SHOW_COMMITS, getCommits());
|
||||
details.add("isMaster", String.valueOf(isMaster));
|
||||
|
|
Loading…
Reference in New Issue