You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Supriya Bommareddy (JIRA)" <ji...@apache.org> on 2015/08/07 21:21:45 UTC
[jira] [Comment Edited] (SOLR-4455) Stored value of "NOW" differs
between replicas
[ https://issues.apache.org/jira/browse/SOLR-4455?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14662292#comment-14662292 ]
Supriya Bommareddy edited comment on SOLR-4455 at 8/7/15 7:20 PM:
------------------------------------------------------------------
I tried the workaround with the following changes in my solrconfig.xml and its not working. I have solr-5.2.1 installed.
NOTE: I am not sending the timestamp field in the document and I am updating the document via the admin console UI.
{code}
<requestHandler name="/update" class="solr.UpdateRequestHandler">
<!-- See below for information on defining
updateRequestProcessorChains that can be used by name
on each Update Request
-->
<lst name="defaults">
<str name="update.chain">timestamp</str>
</lst>
</requestHandler>
<updateRequestProcessorChain name="timestamp" default="true">
<processor class="solr.TimestampUpdateProcessorFactory">
<str name="fieldName">timestamp</str>
</processor>
<processor class="solr.DistributedUpdateProcessorFactory"/>
<processor class="solr.LogUpdateProcessorFactory" />
<processor class="solr.RunUpdateProcessorFactory" />
</updateRequestProcessorChain>
{code}
*********************************************************************************************************
schema.xml has the below entry
{code}
<field name="timestamp" type="date" indexed="true" stored="true" multiValued="false"/>
<fieldType name="date" class="solr.TrieDateField" precisionStep="0" positionIncrementGap="0"/>
{code}
was (Author: supreddy):
I tried the workaround with the following changes in my solrconfig.xml and its not working. I have solr-5.2.1 installed
{code}
<requestHandler name="/update" class="solr.UpdateRequestHandler">
<!-- See below for information on defining
updateRequestProcessorChains that can be used by name
on each Update Request
-->
<lst name="defaults">
<str name="update.chain">timestamp</str>
</lst>
</requestHandler>
<updateRequestProcessorChain name="timestamp" default="true">
<processor class="solr.TimestampUpdateProcessorFactory">
<str name="fieldName">timestamp</str>
</processor>
<processor class="solr.DistributedUpdateProcessorFactory"/>
<processor class="solr.LogUpdateProcessorFactory" />
<processor class="solr.RunUpdateProcessorFactory" />
</updateRequestProcessorChain>
{code}
*********************************************************************************************************
schema.xml has the below entry
{code}
<field name="timestamp" type="date" indexed="true" stored="true" multiValued="false"/>
<fieldType name="date" class="solr.TrieDateField" precisionStep="0" positionIncrementGap="0"/>
{code}
> Stored value of "NOW" differs between replicas
> ----------------------------------------------
>
> Key: SOLR-4455
> URL: https://issues.apache.org/jira/browse/SOLR-4455
> Project: Solr
> Issue Type: Bug
> Components: update
> Affects Versions: 4.1
> Reporter: Colin Bartolome
> Assignee: Hoss Man
> Priority: Minor
> Attachments: SOLR-4455.patch
>
>
> I have a field in {{schema.xml}} defined like this:
> {code:xml}
> <field name="timestamp" type="date" indexed="true" stored="true" default="NOW" />
> {code}
> When I perform a query that's load-balanced across the servers in my cloud, the value stored in that field differs slightly between each replica for the same returned document.
> I haven't seen this field differ by more than a tenth of a second and I'm not running queries against it, but I can picture a situation where somebody has one replica returning 23:59:59.990 and another returning 00:00:00.010 and a query starts behaving oddly.
> It seems like the leader should evaluate what "NOW" means and the replicas should copy that value.
> {panel:title=Possible Workaround}
> A possible workaround for this issue is to use the TimestampUpdateProcessorFactory in your update processor chain prior to the DistributedUpdateProcessor instead of relying on the using "NOW" as a default value for date fields.
> This will cause the timestamp field of each document to be filled in with a value before the documents are forwarded to any shards (or written to the transaction log)
> https://lucene.apache.org/solr/4_1_0/solr-core/org/apache/solr/update/processor/TimestampUpdateProcessorFactory.html
> {panel}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org