Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
When a core starts up as part of a collection, and it's not a shard leader, it goes into recovery, part of which involves a 7 second wait (set in SOLR-7141) to ensure that updates being sent from the leader don't get missed in between buffering and replication.
This has the unfortunate side-effect of adding a 7-second pause to collection creation whenever the replication factor is 2 or more, which slows down tests massively - for example, DeleteReplicaTest takes about 54 seconds to execute on my machine, 28 seconds of which is just pauses - over 50% of execution time. It's not actually possible to add documents to a collection before the creation request has returned, so the recovery stage here isn't strictly speaking necessary.
I think we could try adding a parameter to a CoreAdmin create request that says the core is being created as part of a new collection, so it doesn't need to try and recover from it's leader when it starts up. Does this sound sensible, or am I missing something here?
Attachments
Attachments
Issue Links
- relates to
-
SOLR-11661 New HDFS collection reuses unremoved data from a deleted HDFS collection with same name causes inconsistent view of documents
- Closed