[
https://issues.apache.org/jira/browse/SOLR-7332?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Timothy Potter updated SOLR-7332:
---------------------------------
Attachment: SOLR-7332.patch
Here's an updated patch that isn't ready for commit (needs more concurrent unit
tests), but takes the approach of seeding the version buckets during core
initialization. Two main changes:
1) On first searcher (during core initialization), SolrCore calls a new method
in UpdateLog called onFirstSearcher. This does the lookup of the max from the
index.
btw - I actually tried just having UpdateLog implement SolrEventListener, but
then that led down a rabbit hole of needing UpdateLog to be SolrCoreAware (to
avoid a concurrent mod exception)
One thing I'm seeing with this approach is a multiple on-deck searcher warning
after a core reload, so still tracking that issue down. Wanted to vet out this
new approach before doing that though ...
2) If the version is not found in the index, I seed it with the new clock value
...
> Seed version buckets with max version from index
> ------------------------------------------------
>
> Key: SOLR-7332
> URL: https://issues.apache.org/jira/browse/SOLR-7332
> Project: Solr
> Issue Type: Sub-task
> Components: SolrCloud
> Reporter: Timothy Potter
> Assignee: Timothy Potter
> Attachments: SOLR-7332.patch, SOLR-7332.patch
>
>
> See full discussion with Yonik and I in SOLR-6816.
> The TL;DR of that discussion is that we should initialize highest for each
> version bucket to the MAX value of the {{__version__}} field in the index as
> early as possible, such as after the first soft- or hard- commit. This will
> ensure that bulk adds where the docs don't exist avoid an unnecessary lookup
> for a non-existent document in the index.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]