github-actions[bot] commented on code in PR #62821:
URL: https://github.com/apache/doris/pull/62821#discussion_r3351408746
##########
fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/source/PaimonScanNode.java:
##########
@@ -382,9 +408,7 @@ public List<Split> getSplits(int numBackends) throws
UserException {
BinaryRow partitionValue = dataSplit.partition();
Map<String, String> partitionInfoMap = null;
- if (sessionVariable.isEnableRuntimeFilterPartitionPrune()) {
- // If the partition value is not in the map, we need to
calculate the partition
- // info map and store it in the map.
+ if (needPartitionMetadata) {
partitionInfoMap =
partitionInfoMaps.computeIfAbsent(partitionValue, k -> {
Review Comment:
`getOrderedPathPartitionKeys()` now makes every Paimon partition key a
`PARTITION_KEY`, but `PaimonUtil.getPartitionInfoMap()` can return `null` when
a partition value type is unsupported (for example binary/varbinary). In that
case `partitionInfoMap` stays null, `setPaimonParams()` unsets
`columns_from_path*` and sends no metadata value, while BE still excludes the
selected partition column from the JNI/native projected file columns because it
was classified as `PARTITION_KEY`. A query selecting that partition column will
then return an unfilled/default value instead of the partition value. Please
either only classify keys whose values can always be serialized, or fail the
scan when a classified partition key cannot be materialized, and add coverage
for an unsupported partition type.
--
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]