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
It seems when parsing dates as longs, we can have arithmetic exceptions. Steps to reproduce:
The error in the logs looks like:
Similar to #50090