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 Shawn Feldman <sh...@gmail.com> on 2017/06/12 16:08:33 UTC

_version_ as LongPointField returns error

I changed all my TrieLong Fields to Point fields.  _version_ always returns
an error unless i turn on docvalues

  <fieldType name="long" class="solr.LongPointField"/>
  <field name="_version_" type="long" indexed="true" stored="true" />

Getting this error when i index.  Any ideas?


 Remote error message: Point fields can't use FieldCache. Use
docValues=true for field: _version_
solr2_1    |    at
org.apache.solr.update.processor.DistributedUpdateProcessor.doFinish(DistributedUpdateProcessor.java:973)
solr2_1    |    at
org.apache.solr.update.processor.DistributedUpdateProcessor.finish(DistributedUpdateProcessor.java:1912)
solr2_1    |    at
org.apache.solr.update.processor.LogUpdateProcessorFactory$LogUpdateProcessor.finish(LogUpdateProcessorFactory.java:182)
solr2_1    |    at
org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:78)
solr2_1    |    at
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:173)
solr2_1    |    at org.apache.solr.core.SolrCore.execute(SolrCore.java:2440)
solr2_1    |    at
org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:723)

Re: _version_ as LongPointField returns error

Posted by Shawn Feldman <sh...@gmail.com>.
logged this ticket https://issues.apache.org/jira/browse/SOLR-10872

On Mon, Jun 12, 2017 at 10:08 AM Shawn Feldman <sh...@gmail.com>
wrote:

> I changed all my TrieLong Fields to Point fields.  _version_ always
> returns an error unless i turn on docvalues
>
>   <fieldType name="long" class="solr.LongPointField"/>
>   <field name="_version_" type="long" indexed="true" stored="true" />
>
> Getting this error when i index.  Any ideas?
>
>
>  Remote error message: Point fields can't use FieldCache. Use
> docValues=true for field: _version_
> solr2_1    |    at
> org.apache.solr.update.processor.DistributedUpdateProcessor.doFinish(DistributedUpdateProcessor.java:973)
> solr2_1    |    at
> org.apache.solr.update.processor.DistributedUpdateProcessor.finish(DistributedUpdateProcessor.java:1912)
> solr2_1    |    at
> org.apache.solr.update.processor.LogUpdateProcessorFactory$LogUpdateProcessor.finish(LogUpdateProcessorFactory.java:182)
> solr2_1    |    at
> org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:78)
> solr2_1    |    at
> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:173)
> solr2_1    |    at
> org.apache.solr.core.SolrCore.execute(SolrCore.java:2440)
> solr2_1    |    at
> org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:723)
>

Re: _version_ as LongPointField returns error

Posted by Shawn Feldman <sh...@gmail.com>.
Should i make stored=false?  don't i need _version_ for the mvcc semantics?


On Mon, Jun 12, 2017 at 10:41 AM Chris Hostetter <ho...@fucit.org>
wrote:

>
> just replying to some comments/discussion in general rather then
> individual msgs/sentences..
>
> * uninversion/FieldCache of *singlevalued* Points fields was fixed in
> SOLR-10472
>
> * currently a bad idea to use indexed="true" Points for _version_ due to
> SOLR-10832
>
> * AFAICT it's a good idea (in general, regardless of type) to use
> indexed="true" docValues="true" for _version_ (once SOLR-10832 is fixed)
> to ensure VersionInfo.getMaxVersionFromIndex doesn't make core
> load/reloads (and CDCR aparently) slow.
>
>
>
> : Date: Mon, 12 Jun 2017 12:32:50 -0400
> : From: Yonik Seeley <ys...@gmail.com>
> : Reply-To: solr-user@lucene.apache.org
> : To: "solr-user@lucene.apache.org" <so...@lucene.apache.org>
> : Subject: Re: _version_ as LongPointField returns error
> :
> : On Mon, Jun 12, 2017 at 12:24 PM, Shawn Feldman <sh...@gmail.com>
> wrote:
> : > Why do you need doc values though?  i'm never going to sort by version
> :
> : Solr needs a quick lookup from docid->_version_
> : If you don't have docValues, Solr tries to create an in-memory version
> : (via the FieldCache).  That's not yet supported for Point* fields.
> :
> : -Yonik
> :
> : > On Mon, Jun 12, 2017 at 10:13 AM Yonik Seeley <ys...@gmail.com>
> wrote:
> : >
> : >> I think the _version_ field should be
> : >>  - indexed="false"
> : >>  - stored="false"
> : >>  - docValues="true"
> : >>
> : >> -Yonik
> : >>
> : >>
> : >> On Mon, Jun 12, 2017 at 12:08 PM, Shawn Feldman <
> shawn.feldman@gmail.com>
> : >> wrote:
> : >> > I changed all my TrieLong Fields to Point fields.  _version_ always
> : >> returns
> : >> > an error unless i turn on docvalues
> : >> >
> : >> >   <fieldType name="long" class="solr.LongPointField"/>
> : >> >   <field name="_version_" type="long" indexed="true" stored="true"
> />
> : >> >
> : >> > Getting this error when i index.  Any ideas?
> : >> >
> : >> >
> : >> >  Remote error message: Point fields can't use FieldCache. Use
> : >> > docValues=true for field: _version_
> : >> > solr2_1    |    at
> : >> >
> : >>
> org.apache.solr.update.processor.DistributedUpdateProcessor.doFinish(DistributedUpdateProcessor.java:973)
> : >> > solr2_1    |    at
> : >> >
> : >>
> org.apache.solr.update.processor.DistributedUpdateProcessor.finish(DistributedUpdateProcessor.java:1912)
> : >> > solr2_1    |    at
> : >> >
> : >>
> org.apache.solr.update.processor.LogUpdateProcessorFactory$LogUpdateProcessor.finish(LogUpdateProcessorFactory.java:182)
> : >> > solr2_1    |    at
> : >> >
> : >>
> org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:78)
> : >> > solr2_1    |    at
> : >> >
> : >>
> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:173)
> : >> > solr2_1    |    at
> : >> org.apache.solr.core.SolrCore.execute(SolrCore.java:2440)
> : >> > solr2_1    |    at
> : >> > org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:723)
> : >>
> :
>
> -Hoss
> http://www.lucidworks.com/
>

Re: _version_ as LongPointField returns error

Posted by Chris Hostetter <ho...@fucit.org>.
just replying to some comments/discussion in general rather then 
individual msgs/sentences..

* uninversion/FieldCache of *singlevalued* Points fields was fixed in SOLR-10472

* currently a bad idea to use indexed="true" Points for _version_ due to SOLR-10832

* AFAICT it's a good idea (in general, regardless of type) to use 
indexed="true" docValues="true" for _version_ (once SOLR-10832 is fixed) 
to ensure VersionInfo.getMaxVersionFromIndex doesn't make core 
load/reloads (and CDCR aparently) slow.



: Date: Mon, 12 Jun 2017 12:32:50 -0400
: From: Yonik Seeley <ys...@gmail.com>
: Reply-To: solr-user@lucene.apache.org
: To: "solr-user@lucene.apache.org" <so...@lucene.apache.org>
: Subject: Re: _version_ as LongPointField returns error
: 
: On Mon, Jun 12, 2017 at 12:24 PM, Shawn Feldman <sh...@gmail.com> wrote:
: > Why do you need doc values though?  i'm never going to sort by version
: 
: Solr needs a quick lookup from docid->_version_
: If you don't have docValues, Solr tries to create an in-memory version
: (via the FieldCache).  That's not yet supported for Point* fields.
: 
: -Yonik
: 
: > On Mon, Jun 12, 2017 at 10:13 AM Yonik Seeley <ys...@gmail.com> wrote:
: >
: >> I think the _version_ field should be
: >>  - indexed="false"
: >>  - stored="false"
: >>  - docValues="true"
: >>
: >> -Yonik
: >>
: >>
: >> On Mon, Jun 12, 2017 at 12:08 PM, Shawn Feldman <sh...@gmail.com>
: >> wrote:
: >> > I changed all my TrieLong Fields to Point fields.  _version_ always
: >> returns
: >> > an error unless i turn on docvalues
: >> >
: >> >   <fieldType name="long" class="solr.LongPointField"/>
: >> >   <field name="_version_" type="long" indexed="true" stored="true" />
: >> >
: >> > Getting this error when i index.  Any ideas?
: >> >
: >> >
: >> >  Remote error message: Point fields can't use FieldCache. Use
: >> > docValues=true for field: _version_
: >> > solr2_1    |    at
: >> >
: >> org.apache.solr.update.processor.DistributedUpdateProcessor.doFinish(DistributedUpdateProcessor.java:973)
: >> > solr2_1    |    at
: >> >
: >> org.apache.solr.update.processor.DistributedUpdateProcessor.finish(DistributedUpdateProcessor.java:1912)
: >> > solr2_1    |    at
: >> >
: >> org.apache.solr.update.processor.LogUpdateProcessorFactory$LogUpdateProcessor.finish(LogUpdateProcessorFactory.java:182)
: >> > solr2_1    |    at
: >> >
: >> org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:78)
: >> > solr2_1    |    at
: >> >
: >> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:173)
: >> > solr2_1    |    at
: >> org.apache.solr.core.SolrCore.execute(SolrCore.java:2440)
: >> > solr2_1    |    at
: >> > org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:723)
: >>
: 

-Hoss
http://www.lucidworks.com/

Re: _version_ as LongPointField returns error

Posted by Yonik Seeley <ys...@gmail.com>.
On Mon, Jun 12, 2017 at 12:24 PM, Shawn Feldman <sh...@gmail.com> wrote:
> Why do you need doc values though?  i'm never going to sort by version

Solr needs a quick lookup from docid->_version_
If you don't have docValues, Solr tries to create an in-memory version
(via the FieldCache).  That's not yet supported for Point* fields.

-Yonik

> On Mon, Jun 12, 2017 at 10:13 AM Yonik Seeley <ys...@gmail.com> wrote:
>
>> I think the _version_ field should be
>>  - indexed="false"
>>  - stored="false"
>>  - docValues="true"
>>
>> -Yonik
>>
>>
>> On Mon, Jun 12, 2017 at 12:08 PM, Shawn Feldman <sh...@gmail.com>
>> wrote:
>> > I changed all my TrieLong Fields to Point fields.  _version_ always
>> returns
>> > an error unless i turn on docvalues
>> >
>> >   <fieldType name="long" class="solr.LongPointField"/>
>> >   <field name="_version_" type="long" indexed="true" stored="true" />
>> >
>> > Getting this error when i index.  Any ideas?
>> >
>> >
>> >  Remote error message: Point fields can't use FieldCache. Use
>> > docValues=true for field: _version_
>> > solr2_1    |    at
>> >
>> org.apache.solr.update.processor.DistributedUpdateProcessor.doFinish(DistributedUpdateProcessor.java:973)
>> > solr2_1    |    at
>> >
>> org.apache.solr.update.processor.DistributedUpdateProcessor.finish(DistributedUpdateProcessor.java:1912)
>> > solr2_1    |    at
>> >
>> org.apache.solr.update.processor.LogUpdateProcessorFactory$LogUpdateProcessor.finish(LogUpdateProcessorFactory.java:182)
>> > solr2_1    |    at
>> >
>> org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:78)
>> > solr2_1    |    at
>> >
>> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:173)
>> > solr2_1    |    at
>> org.apache.solr.core.SolrCore.execute(SolrCore.java:2440)
>> > solr2_1    |    at
>> > org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:723)
>>

Re: _version_ as LongPointField returns error

Posted by Shawn Feldman <sh...@gmail.com>.
Why do you need doc values though?  i'm never going to sort by version

On Mon, Jun 12, 2017 at 10:13 AM Yonik Seeley <ys...@gmail.com> wrote:

> I think the _version_ field should be
>  - indexed="false"
>  - stored="false"
>  - docValues="true"
>
> -Yonik
>
>
> On Mon, Jun 12, 2017 at 12:08 PM, Shawn Feldman <sh...@gmail.com>
> wrote:
> > I changed all my TrieLong Fields to Point fields.  _version_ always
> returns
> > an error unless i turn on docvalues
> >
> >   <fieldType name="long" class="solr.LongPointField"/>
> >   <field name="_version_" type="long" indexed="true" stored="true" />
> >
> > Getting this error when i index.  Any ideas?
> >
> >
> >  Remote error message: Point fields can't use FieldCache. Use
> > docValues=true for field: _version_
> > solr2_1    |    at
> >
> org.apache.solr.update.processor.DistributedUpdateProcessor.doFinish(DistributedUpdateProcessor.java:973)
> > solr2_1    |    at
> >
> org.apache.solr.update.processor.DistributedUpdateProcessor.finish(DistributedUpdateProcessor.java:1912)
> > solr2_1    |    at
> >
> org.apache.solr.update.processor.LogUpdateProcessorFactory$LogUpdateProcessor.finish(LogUpdateProcessorFactory.java:182)
> > solr2_1    |    at
> >
> org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:78)
> > solr2_1    |    at
> >
> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:173)
> > solr2_1    |    at
> org.apache.solr.core.SolrCore.execute(SolrCore.java:2440)
> > solr2_1    |    at
> > org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:723)
>

Re: _version_ as LongPointField returns error

Posted by Yonik Seeley <ys...@gmail.com>.
I think the _version_ field should be
 - indexed="false"
 - stored="false"
 - docValues="true"

-Yonik


On Mon, Jun 12, 2017 at 12:08 PM, Shawn Feldman <sh...@gmail.com> wrote:
> I changed all my TrieLong Fields to Point fields.  _version_ always returns
> an error unless i turn on docvalues
>
>   <fieldType name="long" class="solr.LongPointField"/>
>   <field name="_version_" type="long" indexed="true" stored="true" />
>
> Getting this error when i index.  Any ideas?
>
>
>  Remote error message: Point fields can't use FieldCache. Use
> docValues=true for field: _version_
> solr2_1    |    at
> org.apache.solr.update.processor.DistributedUpdateProcessor.doFinish(DistributedUpdateProcessor.java:973)
> solr2_1    |    at
> org.apache.solr.update.processor.DistributedUpdateProcessor.finish(DistributedUpdateProcessor.java:1912)
> solr2_1    |    at
> org.apache.solr.update.processor.LogUpdateProcessorFactory$LogUpdateProcessor.finish(LogUpdateProcessorFactory.java:182)
> solr2_1    |    at
> org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:78)
> solr2_1    |    at
> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:173)
> solr2_1    |    at org.apache.solr.core.SolrCore.execute(SolrCore.java:2440)
> solr2_1    |    at
> org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:723)