github-actions[bot] commented on code in PR #69672:
URL: https://github.com/apache/doris/pull/69672#discussion_r4414811439
##########
be/src/format/table/es/es_scroll_parser.cpp:
##########
@@ -723,15 +890,24 @@ Status ScrollParser::fill_columns(const
std::vector<SlotDescriptor*>& slots,
}
}
- const rapidjson::Value& col = (*line)[col_name];
Review Comment:
[P2] Preserve valid epoch-millis dates when source fallback is selected
The new scan-wide source mode reaches this unchanged date decoder for every
sibling. A default ES `date` (`strict_date_optional_time||epoch_millis`) can
retain source values such as `"0"` or `"1.5"` (and JSON numbers with fractional
milliseconds), but `get_date_value_int` only treats a 13-character positive
string as epoch millis; shorter values fall through `CastToDatetimeV2`, a
13-digit zero is rejected by `time_long > 0`, and numeric fractions take the
`GetInt64()` path even when RapidJSON stored a double. With a normalized
keyword sibling removing its docvalue context, `useDocValueScan` forces this
path for the whole projection, so a valid indexed document now fails while the
prior docvalue projection was readable. Parse source dates with the ES
epoch-millis grammar (including zero/fractional values) and use a checked
numeric conversion; add controls for both legacy and v2 readers.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]