[
https://issues.apache.org/jira/browse/SOLR-14325?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17060822#comment-17060822
]
Richard Goodman commented on SOLR-14325:
----------------------------------------
Hi [~dsmiley],
I've uploaded my patch of what I have so far _(this is on a 7.7.2 branch)_. I
found the following with this:
* Core admin api was significantly quicker when replicas were recovering.
Previously the call would take >=8 seconds when testing with cores of this
size, where as now it was around 1 second.
* The index information is, however, blank until the replica has fully
recovered _(so basically as if {{&indexInfo=false}} was in the call ...
Below is some stats / findings when I did this _(had to remove any "sensitive"
information)_:
{code:title=node0 core admin pre}
root @ rich-solr0.devserver0.net ~/cat-test # time curl -s
"http://localhost:8080/solr/admin/cores" > new-core-admin-timeout-pre
real 0m1.080s
user 0m0.020s
sys 0m0.004s
{code}
{code:title=node1 core admin pre}
root @ rich-solr1.devserver0.net ~/cat-test # time curl -s
"http://localhost:8080/solr/admin/cores" > new-core-admin-timeout-pre
real 0m0.413s
user 0m0.016s
sys 0m0.012s
{code}
---
{code:title=node0 core admin recovering}
root @ rich-solr0.devserver0.net ~/cat-test # time curl -s
"http://localhost:8080/solr/admin/cores" > new-core-admin-timeout-during
real 0m1.514s
user 0m0.012s
sys 0m0.012s
root @ rich-solr0.devserver0.net ~/cat-test # time curl -s
"http://localhost:8080/solr/admin/cores" > new-core-admin-timeout-during-2
real 0m1.385s
user 0m0.008s
sys 0m0.004s
root @ rich-solr0.devserver0.net ~/cat-test # time curl -s
"http://localhost:8080/solr/admin/cores" > new-core-admin-timeout-during-3
real 0m1.580s
user 0m0.016s
sys 0m0.000s
root @ rich-solr0.devserver0.net ~/cat-test # time curl -s
"http://localhost:8080/solr/admin/cores" > new-core-admin-timeout-during-4
real 0m1.112s
user 0m0.004s
sys 0m0.008s
root @ rich-solr0.devserver0.net ~/cat-test # time curl -s
"http://localhost:8080/solr/admin/cores" > new-core-admin-timeout-during-5
real 0m1.058s
user 0m0.008s
sys 0m0.004s
root @ rich-solr0.devserver0.net ~/cat-test # time curl -s
"http://localhost:8080/solr/admin/cores" > new-core-admin-timeout-during-6
real 0m1.115s
user 0m0.012s
sys 0m0.008s
{code}
{code:title=node1 core admin recovering}
root @ rich-solr1.devserver0.net ~/cat-test # time curl -s
"http://localhost:8080/solr/admin/cores" > new-core-admin-timeout-during
real 0m0.320s
user 0m0.008s
sys 0m0.008s
root @ rich-solr1.devserver0.net ~/cat-test # time curl -s
"http://localhost:8080/solr/admin/cores" > new-core-admin-timeout-durin2
real 0m0.277s
user 0m0.004s
sys 0m0.008s
root @ rich-solr1.devserver0.net ~/cat-test # time curl -s
"http://localhost:8080/solr/admin/cores" > new-core-admin-timeout-durin3
real 0m0.339s
user 0m0.008s
sys 0m0.012s
root @ rich-solr1.devserver0.net ~/cat-test # time curl -s
"http://localhost:8080/solr/admin/cores" > new-core-admin-timeout-durin5
real 0m0.378s
user 0m0.008s
sys 0m0.016s
root @ rich-solr1.devserver0.net ~/cat-test # time curl -s
"http://localhost:8080/solr/admin/cores" > new-core-admin-timeout-durin4
real 0m0.338s
user 0m0.008s
sys 0m0.008s
root @ rich-solr1.devserver0.net ~/cat-test # time curl -s
"http://localhost:8080/solr/admin/cores" > new-core-admin-timeout-durin6
real 0m0.348s
user 0m0.008s
sys 0m0.000s
{code}
---
{code:title=during recovery}
"a_collection_shard4_replica_n43":{
"name":"a_collection_shard4_replica_n43",
"instanceDir":"/data/solr/solrcloud-rich_solr0-0/data/a_collection_shard4_replica_n43",
"dataDir":"/data/solr/solrcloud-rich_solr0-0/data/a_collection_shard4_replica_n43/data/",
"config":"solrconfig.xml",
"schema":"schema.xml",
"startTime":"2020-03-17T09:45:04.310Z",
"uptime":6609,
"lastPublished":"recovering",
"configVersion":2,
"cloud":{
"collection":"a_collection",
"shard":"shard4",
"replica":"core_node44"},
"index":{
"numDocs":0,
"maxDoc":0,
"deletedDocs":0,
"indexHeapUsageBytes":0,
"version":2,
"segmentCount":0,
"current":true,
"hasDeletions":false,
"directory":"org.apache.lucene.store.NRTCachingDirectory:NRTCachingDirectory(MMapDirectory@/data/solr/solrcloud-rich_solr0-0/data/a_collection_shard4_replica_n43/data/index
lockFactory=org.apache.lucene.store.NativeFSLockFactory@3875d1fc;
maxCacheMB=48.0 maxMergeSizeMB=4.0)",
"segmentsFile":"segments_1",
"segmentsFileSizeInBytes":69,
"userData":{},
"sizeInBytes":69,
"size":"69 bytes"}},
{code}
---
{code:title=replica info after recovery}
"a_collection_shard4_replica_n43":{
"name":"a_collection_shard4_replica_n43",
"instanceDir":"/data/solr/solrcloud-rich_solr0-0/data/a_collection_shard4_replica_n43",
"dataDir":"/data/solr/solrcloud-rich_solr0-0/data/a_collection_shard4_replica_n43/data/",
"config":"solrconfig.xml",
"schema":"schema.xml",
"startTime":"2020-03-17T09:45:04.310Z",
"uptime":19481,
"lastPublished":"active",
"configVersion":2,
"cloud":{
"collection":"a_collection",
"shard":"shard4",
"replica":"core_node44"},
"index":{
"numDocs":401295,
"maxDoc":419935,
"deletedDocs":18640,
"indexHeapUsageBytes":5014066,
"version":3535595,
"segmentCount":23,
"current":true,
"hasDeletions":true,
"directory":"org.apache.lucene.store.NRTCachingDirectory:NRTCachingDirectory(MMapDirectory@/data/solr/solrcloud-rich_solr0-0/data/a_collection_shard4_replica_n43/data/index
lockFactory=org.apache.lucene.store.NativeFSLockFactory@3875d1fc;
maxCacheMB=48.0 maxMergeSizeMB=4.0)",
"segmentsFile":"segments_qek",
"segmentsFileSizeInBytes":1706,
"userData":{
"commitCommandVer":"1655904180394524672",
"commitTimeMSec":"1579193287273"},
"lastModified":"2020-01-16T16:48:07.273Z",
"sizeInBytes":1070272747,
"size":"1,020.69 MB"}},
{code}
---
I'd be keen to see what you think of the patch so far, and if there would be a
way to get index information from a directoryReader?
> Core status could be improved to not require an IndexSearcher
> -------------------------------------------------------------
>
> Key: SOLR-14325
> URL: https://issues.apache.org/jira/browse/SOLR-14325
> Project: Solr
> Issue Type: Improvement
> Security Level: Public(Default Security Level. Issues are Public)
> Reporter: David Smiley
> Priority: Major
> Attachments: SOLR-14325.patch
>
>
> When the core status is told to request "indexInfo", it currently grabs the
> SolrIndexSearcher but only to grab the Directory. SolrCore.getIndexSize also
> only requires the Directory. By insisting on a SolrIndexSearcher, we
> potentially block for awhile if the core is in recovery since there is no
> SolrIndexSearcher.
> [https://lists.apache.org/thread.html/r076218c964e9bd6ed0a53133be9170c3cf36cc874c1b4652120db417%40%3Cdev.lucene.apache.org%3E]
> It'd be nice to have a solution that conditionally used the Directory of the
> SolrIndexSearcher only if it's present so that we don't waste time creating
> one either.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]