- 
                Notifications
    You must be signed in to change notification settings 
- Fork 25.6k
Closed
Labels
:Search Foundations/MappingIndex mappings, including merging and defining field typesIndex mappings, including merging and defining field types>bugTeam:Search FoundationsMeta label for the Search Foundations team in ElasticsearchMeta label for the Search Foundations team in Elasticsearch
Description
It seems when parsing dates as longs, we can have arithmetic exceptions. Steps to reproduce:
PUT test01
{
  "mappings": {
    "properties": {
      "dadate": {
        "type": "date",
        "ignore_malformed": true
      }
    }
  }
}
     
PUT test01/_doc/1
{
  "dadate": "-522000000"
}
The error in the logs looks like:
Caused by: java.lang.ArithmeticException: long overflow
	at java.lang.Math.multiplyExact(Math.java:946) ~[?:?]
	at java.lang.Math.multiplyExact(Math.java:922) ~[?:?]
	at java.time.Instant.toEpochMilli(Instant.java:1236) ~[?:?]
	at org.elasticsearch.index.mapper.DateFieldMapper$Resolution$1.convert(DateFieldMapper.java:83) ~[elasticsearch-7.6.0.jar:7.6.0]
	at org.elasticsearch.index.mapper.DateFieldMapper$DateFieldType.parse(DateFieldMapper.java:338) ~[elasticsearch-7.6.0.jar:7.6.0]
	at org.elasticsearch.index.mapper.DateFieldMapper.parseCreateField(DateFieldMapper.java:545) ~[elasticsearch-7.6.0.jar:7.6.0]
Similar to #50090
shirleyselashirleysela
Metadata
Metadata
Assignees
Labels
:Search Foundations/MappingIndex mappings, including merging and defining field typesIndex mappings, including merging and defining field types>bugTeam:Search FoundationsMeta label for the Search Foundations team in ElasticsearchMeta label for the Search Foundations team in Elasticsearch