You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Hendrik Haddorp <he...@gmx.net> on 2016/04/18 22:34:05 UTC

add field requires collection reload

Hi,

I'm using SolrCloud 6.0 with a managed schema. When I add fields using
SolrJ and immediately afterwards try to index data I sometimes get an
error telling me that a field that I just added does not exist. If I do
an explicit collection reload after the schema modification things seem
to work. Is that works as designed?

According to https://cwiki.apache.org/confluence/display/solr/Schema+API
a core reload will happen automatically when using the schema API: "When
modifying the schema with the API, a core reload will automatically
occur in order for the changes to be available immediately for documents
indexed thereafter."

regards,
Hendrik

Re: add field requires collection reload

Posted by Erick Erickson <er...@gmail.com>.
bq: In yesterday's test run I actually had only one node

I think it's still the same issue. The update happens too
fast for the core reload. Don't know that for sure mind
you...

A cheap solution would be to wait a bit before sending
the update. Clumsy but maybe good enough for now?

Or put in some retry logic. If the update fails, _then_ sleep
for a second and re-submit the batch. True, in that case
you'll be re-indexing all the docs that succeeded in the
batch, but that's usually OK.

Best,
Erick

On Mon, Apr 18, 2016 at 9:28 PM, Hendrik Haddorp
<he...@gmx.net> wrote:
> Thanks, I knew I had seen a bug like this somewhere but could not find
> it yesterday.
>
> In yesterday's test run I actually had only one node and still got this
> problem. So I'll keep the collection reload until switching to 6.1 then.
>
> On 19/04/16 01:51, Erick Erickson wrote:
>> The key here is you say "sometimes". It takes a while for the reload
>> operation to propagate to _all_ the replicas that makeup your
>> collection. My bet is that by immediately indexing after changing the
>> data, your updates are getting to a core that hasn't reloaded yet.
>>
>> That said, https://issues.apache.org/jira/browse/SOLR-8662 addresses
>> this very issue I believe, but it's in 6.1
>>
>> Best,
>> Erick
>>
>> On Mon, Apr 18, 2016 at 1:34 PM, Hendrik Haddorp
>> <he...@gmx.net> wrote:
>>> Hi,
>>>
>>> I'm using SolrCloud 6.0 with a managed schema. When I add fields using
>>> SolrJ and immediately afterwards try to index data I sometimes get an
>>> error telling me that a field that I just added does not exist. If I do
>>> an explicit collection reload after the schema modification things seem
>>> to work. Is that works as designed?
>>>
>>> According to https://cwiki.apache.org/confluence/display/solr/Schema+API
>>> a core reload will happen automatically when using the schema API: "When
>>> modifying the schema with the API, a core reload will automatically
>>> occur in order for the changes to be available immediately for documents
>>> indexed thereafter."
>>>
>>> regards,
>>> Hendrik
>

Re: add field requires collection reload

Posted by Hendrik Haddorp <he...@gmx.net>.
Thanks, I knew I had seen a bug like this somewhere but could not find
it yesterday.

In yesterday's test run I actually had only one node and still got this
problem. So I'll keep the collection reload until switching to 6.1 then.

On 19/04/16 01:51, Erick Erickson wrote:
> The key here is you say "sometimes". It takes a while for the reload
> operation to propagate to _all_ the replicas that makeup your
> collection. My bet is that by immediately indexing after changing the
> data, your updates are getting to a core that hasn't reloaded yet.
>
> That said, https://issues.apache.org/jira/browse/SOLR-8662 addresses
> this very issue I believe, but it's in 6.1
>
> Best,
> Erick
>
> On Mon, Apr 18, 2016 at 1:34 PM, Hendrik Haddorp
> <he...@gmx.net> wrote:
>> Hi,
>>
>> I'm using SolrCloud 6.0 with a managed schema. When I add fields using
>> SolrJ and immediately afterwards try to index data I sometimes get an
>> error telling me that a field that I just added does not exist. If I do
>> an explicit collection reload after the schema modification things seem
>> to work. Is that works as designed?
>>
>> According to https://cwiki.apache.org/confluence/display/solr/Schema+API
>> a core reload will happen automatically when using the schema API: "When
>> modifying the schema with the API, a core reload will automatically
>> occur in order for the changes to be available immediately for documents
>> indexed thereafter."
>>
>> regards,
>> Hendrik


Re: add field requires collection reload

Posted by Erick Erickson <er...@gmail.com>.
The key here is you say "sometimes". It takes a while for the reload
operation to propagate to _all_ the replicas that makeup your
collection. My bet is that by immediately indexing after changing the
data, your updates are getting to a core that hasn't reloaded yet.

That said, https://issues.apache.org/jira/browse/SOLR-8662 addresses
this very issue I believe, but it's in 6.1

Best,
Erick

On Mon, Apr 18, 2016 at 1:34 PM, Hendrik Haddorp
<he...@gmx.net> wrote:
> Hi,
>
> I'm using SolrCloud 6.0 with a managed schema. When I add fields using
> SolrJ and immediately afterwards try to index data I sometimes get an
> error telling me that a field that I just added does not exist. If I do
> an explicit collection reload after the schema modification things seem
> to work. Is that works as designed?
>
> According to https://cwiki.apache.org/confluence/display/solr/Schema+API
> a core reload will happen automatically when using the schema API: "When
> modifying the schema with the API, a core reload will automatically
> occur in order for the changes to be available immediately for documents
> indexed thereafter."
>
> regards,
> Hendrik