Details
-
Bug
-
Status: Open
-
Minor
-
Resolution: Unresolved
-
4.1
-
None
-
None
Description
I have a field in schema.xml defined like this:
<field name="timestamp" type="date" indexed="true" stored="true" default="NOW" />
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.
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)
Attachments
Attachments
Issue Links
- is related to
-
SOLR-4472 update javadocs for DateField, TrieDateField, and UUIDField to warn about using NEW/NOW default in SolrCloud
- Closed