Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
ZkStateReader.readConfigName reads the configSet name given a collection name parameter. Simple. It's doing too much work to do this though. First it's calling zkClient.exists() which is redundant given that we then call getData will will detect if it doesn't exist. Then we validate that the config path exists. But I don't think that should be verified on read, only on write. This method is a hotspot for nodes with lots of cores, proven out with profiling.
Ideally the configSet name ought to be moved to state.json which is where all the other collection metadata is and is thus already read by most spots that want to read the configSet name. That would speed things up further and generally simplify things as well. That can happen on a follow-on issue, I think.
Attachments
Issue Links
- relates to
-
SOLR-14341 Move a collection's configSet name to state.json
- Closed
- links to