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 lstusr 5u93n4 <ls...@gmail.com> on 2019/07/05 19:30:50 UTC

Stored field values don't update after 7 -> 8 upgrade

Hi All,

We have a collection that was created on Solr 7.5, and then Solr was
upgraded to 8.1 . After the upgrade, we're seeing that the stored values of
the fields of documents that existed before the upgrade aren't being stored
when the record is updated, even though the indexed value is.

For example, one of the stored fields in our schema is filesize.

If we have a record like this that was created on solr 7 and exists before
the upgrade:
{
 id: 'record1'
  filesize: 5
}

and a record like this that was created after the upgrade to 8.1:
{
id: 'record2',
filesize: 20
}

And we do two separate updates using the /update handler on the solr web
UI:
{
id: 'record1',
filesize: 100,
}
and
{
id: 'record2',
filesize: 100,
}

We expect two records with a filesize of 100. If we query for that:
q=filesize:100 (again on the solr UI) we get the following results:
{
id: 'record1',
filesize: 5,
},
{
id: 'record2',
filesize: 100,
}

Note that the filesize of record1 reports as 5, even though it was
successfully queried with 100. What this tells me is that the INDEXED value
of filesize was updated for 'record1' but the STORED value was not.

In our schema, filesize has: [Indexed, Stored, DocValues, UnInvertible,
Omit Norms, Omit Term Frequencies & Positions] all true for Properties and
Schema. The field type is a plong and the index analyzer is the
DefaultAnalyzer. Most of our fileds are the same, but we have a few other
types, including one that's not stored.

Note that we ran the IndexUpgrader tool listed here:
https://lucene.apache.org/solr/guide/8_1/indexupgrader-tool.html against
every replica, but it should be noted that we ran this AFTER solr 8.1 had
already been launched against the existing collection.

So getting to my questions:

 - is the fact that we started solr without upgrading the index the root
cause here?
 - If not, is this behaviour expected or a known issue?
 - If not, is there any more info you need to help debug/reproduce?

Thanks for any help you can provide,

Kyle

Re: Stored field values don't update after 7 -> 8 upgrade

Posted by lstusr 5u93n4 <ls...@gmail.com>.
I did some more troubleshooting on this issue, and can reproduce it in
isolation. Also, I found that the issue doesn't occur when upgrading from
7.5 to 7.7.2.

So to summarize:
 - upgrade from 7.5 to 8.1 and after that any modifications to stored
fields in the documents are not updated.
 - upgrade from 7.5 to 7.7.2 - everything is fine.
 - upgrade from 7.7.2 to 8.1 - issue reproduces.

Note that I reproduced this with and without running the IndexUpgrader
tool.

This strikes me as a real bug... is there anything else you need here? I'm
happy to raise a JIRA ticket if need be.

Kyle

On Fri, 5 Jul 2019 at 15:30, lstusr 5u93n4 <ls...@gmail.com> wrote:

> Hi All,
>
> We have a collection that was created on Solr 7.5, and then Solr was
> upgraded to 8.1 . After the upgrade, we're seeing that the stored values of
> the fields of documents that existed before the upgrade aren't being stored
> when the record is updated, even though the indexed value is.
>
> For example, one of the stored fields in our schema is filesize.
>
> If we have a record like this that was created on solr 7 and exists before
> the upgrade:
> {
>  id: 'record1'
>   filesize: 5
> }
>
> and a record like this that was created after the upgrade to 8.1:
> {
> id: 'record2',
> filesize: 20
> }
>
> And we do two separate updates using the /update handler on the solr web
> UI:
> {
> id: 'record1',
> filesize: 100,
> }
> and
> {
> id: 'record2',
> filesize: 100,
> }
>
> We expect two records with a filesize of 100. If we query for that:
> q=filesize:100 (again on the solr UI) we get the following results:
> {
> id: 'record1',
> filesize: 5,
> },
> {
> id: 'record2',
> filesize: 100,
> }
>
> Note that the filesize of record1 reports as 5, even though it was
> successfully queried with 100. What this tells me is that the INDEXED value
> of filesize was updated for 'record1' but the STORED value was not.
>
> In our schema, filesize has: [Indexed, Stored, DocValues, UnInvertible,
> Omit Norms, Omit Term Frequencies & Positions] all true for Properties and
> Schema. The field type is a plong and the index analyzer is the
> DefaultAnalyzer. Most of our fileds are the same, but we have a few other
> types, including one that's not stored.
>
> Note that we ran the IndexUpgrader tool listed here:
> https://lucene.apache.org/solr/guide/8_1/indexupgrader-tool.html against
> every replica, but it should be noted that we ran this AFTER solr 8.1 had
> already been launched against the existing collection.
>
> So getting to my questions:
>
>  - is the fact that we started solr without upgrading the index the root
> cause here?
>  - If not, is this behaviour expected or a known issue?
>  - If not, is there any more info you need to help debug/reproduce?
>
> Thanks for any help you can provide,
>
> Kyle
>
>