[ 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: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org