xiangfu0 commented on PR #19284:
URL: https://github.com/apache/pinot/pull/19284#issuecomment-5336115820

   Pushed \`e00e837b5c\` addressing review findings on the DSL surface.
   
   **Leading-zero arguments are now rejected.** \`ZSTD(03)\` and \`ZSTD(3)\` 
previously canonicalized to two different strings. Since the canonical spec is 
frozen into V7 segment headers and compared by equality on reload, two 
spellings of the same value would eventually mean spurious rewrites and a 
parser that has to accept both forever. The grammar is now \`arg ::= "0" | 
[1-9][0-9]*\`, enforced in both \`CodecSpecParser.parseArg\` and the 
\`CodecInvocation\` constructor (programmatic construction bypasses the 
parser). A bare \`0\` remains valid.
   
   **\`MAX_SPEC_LENGTH\` tightened 64KB to 4KB** to bound header bloat. Note 
this now wins over the combinatorial maximum of the per-stage limits (32 stages 
x 128-char names is ~4.1KB); any realistic spec is far below it. Tests pin both 
boundaries — exactly \`MAX_SPEC_LENGTH\` parses, one over is rejected.
   
   **\`REMOVED_WRAPPER_NAME\` widened to public** so every layer enforcing the 
\`CODEC\` reservation shares one definition instead of re-spelling the literal 
(the registry in #19285 now references it).
   
   All of these tighten acceptance before first release, which is the 
reversible direction — accepting now and rejecting later would not be.
   
   Verification: \`CodecSpecParserTest\`, \`CodecInvocationTest\`, 
\`CodecPipelineTest\`, \`ForwardIndexConfigTest\` (pinot-segment-spi) plus 
\`ForwardIndexTypeTest\`, \`TableConfigUtilsTest\`, 
\`ForwardIndexCreatorFactoryTest\`, \`OpenStructIndexTypeTest\` 
(pinot-segment-local) all green; spotless/checkstyle/license clean on both 
modules.


-- 
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]

Reply via email to