Details
-
Bug Report
-
Status: Done
-
L3 - Default
-
Resolution: Fixed
-
3.1.0, 3.2.0
-
None
-
Not defined
Description
Given:
I save a decision report with either an evaluation date filter with a fixed date value or a relative value
When:
I create a report with the other filter type and try to save it (SUPPORT-9118)
(same also applies if the first filter used is a boolean/number variable filter and the second a string variable filter see SUPPORT-9129)
Then:
I cannot save it as the filter object structure is incompatible with the dynamic mapping derived from the other previously saved report.
Expected:
I should be able to save that report
Hint:
- This issue will also occur when migrating from Optimize 3.0.0 to 3.1.0 or 3.1.0 to 3.2.0 see SUPPORT-9118 & SUPPORT-9129
- the cause is that in comparison to the process report index (SingleProcessReportIndex) the decision report index does not have the mapping disabled for dynamic structures just as the filter SingleDecisionReportIndex
Suppressed: org.elasticsearch.client.ResponseException: method [PUT], host [http://elasticsearch:9200], URI [/optimize-single-decision-report/_doc/161aca6d-6bbb-44bf-ac0f-d10ebd77891a?refresh=true&timeout=1m], status line [HTTP/1.1 400 Bad Request] {"error":{"root_cause":[{"type":"mapper_parsing_exception","reason":"object mapping for [data.filter.data.start] tried to parse field [start] as object, but found a concrete value"}],"type":"mapper_parsing_exception","reason":"object mapping for [data.filter.data.start] tried to parse field [start] as object, but found a concrete value"},"status":400}
AT:
- the cause is fixed
- a new decision index versionis created during the upgrade
- the issue is documented as known for Optimize 3.1.0 & 3.2.0
- it is recommended to remove all filters on decision reports before migrating