Copilot commented on code in PR #19284:
URL: https://github.com/apache/pinot/pull/19284#discussion_r3799952389
##########
pinot-segment-local/src/main/java/org/apache/pinot/segment/local/segment/index/forward/ForwardIndexCreatorFactory.java:
##########
@@ -51,6 +51,7 @@ public static ForwardIndexCreator
createIndexCreator(IndexCreationContext contex
File indexDir = context.getIndexDir();
FieldSpec fieldSpec = context.getFieldSpec();
String columnName = fieldSpec.getName();
+ ForwardIndexType.rejectUnsupportedCodecSpec(indexConfig, columnName);
Review Comment:
This creator guard is bypassed for OPEN_STRUCT materialized children.
`OpenStructColumnSplitter` reads each child `FieldConfig` into
`configsForDecision`, but then replaces its forward config with a fresh LZ4
config at lines 315-323 before validation and creator selection at lines
448-454. Consequently, a child `indexes.forward.codecSpec` with explicit RAW
encoding is silently discarded and this check sees no spec, so segment
generation succeeds while ignoring the requested codec. Reject codec specs in
`OpenStructIndexType.validatePerKeyIndexes` and again before the splitter
replaces the child forward config, with a regression test for
`valueFieldConfigs`/`defaultValueFieldConfig`.
--
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]