xiangfu0 opened a new pull request, #19309:
URL: https://github.com/apache/pinot/pull/19309

   Stacked on #19308 (`xiangfu0/codex/codec-stack/06-reload-enable`). Part of 
the split of #18229.
   
   ## Summary
   
   - **`CodecPipelineIntegrationTest`** (pinot-integration-tests, `custom/` 
suite): end-to-end
     coverage of `indexes.forward.codecSpec` on an offline table. Every 
supported codec spec gets its
     own INT and LONG raw column, all populated with identical values, so every 
codec must read back
     the same aggregates, filter counts, and point lookups on both query 
engines (SSE + MSE):
     - Single-stage compression: `LZ4`, `ZSTD(3)`, `SNAPPY`, `GZIP` 
(legacy-compatible raw writer path)
     - Transform + compression chains: `DELTA,LZ4`, `DELTA,ZSTD(3)`, 
`DELTADELTA,LZ4` (V7 writer path)
     - Packing transforms: `T64`, `GORILLA`, `T64,LZ4`, `GORILLA,ZSTD(3)` (V7 
writer path)
     - Per-codec SUM/filter checks, point lookups across real V7 chunk 
boundaries
       (`targetDocsPerChunk=256` against 500-row input files), a cross-codec 
same-row consistency
       query, coexistence with a dictionary-encoded STRING column, and a RAW 
STRING column using a
       compression-only `codecSpec` (`ZSTD(3)`) alongside V7 transform columns 
in the same segment.
   - **`docs/design/codec-pipeline-v7.md`**: design doc for the codec pipeline 
framework — DSL
     grammar (matching `CodecSpecParser`), architecture, V7 on-disk format and 
reader-side corruption
     defenses, built-in codec catalog, configuration and validation, user 
manual (enable / migrate /
     roll back / mixed-version safety / common errors), threading, performance, 
backward
     compatibility, test-coverage map, and future work. Placement under 
`docs/design/` is noted as
     subject to reviewer preference.
   
   All spec strings use the wrapper-less comma-list DSL introduced by this 
series (`DELTA,T64,LZ4`,
   `ZSTD(3)`). The doc mentions the removed `CODEC(...)` wrapper only to 
document that the parser
   rejects it with a precise error.
   
   ## Exclusions relative to the original #18229
   
   - `CompressionCodecMigrator` (and its tests) were dropped from the series; 
the design doc refers
     to future migration tooling instead and keeps the manual 
`compressionCodec` → `codecSpec`
     migration table.
   - No test in this slice depends on migration helpers; all table configs are 
built directly with
     `indexes.forward.codecSpec`.
   
   ## Safety
   
   Test-and-docs-only slice: no production code changes. The integration test 
only exercises code
   paths introduced by the earlier slices of this series (03–06). No wire 
formats, configs, or public
   APIs are touched.
   
   ## Verification
   
   ```
   ./mvnw -q -T 1C install -DskipTests -Ppinot-fastdev -pl 
pinot-integration-tests -am
   ./mvnw -q test -Ppinot-fastdev -pl pinot-integration-tests \
     -Dtest=CodecPipelineIntegrationTest -Dsurefire.failIfNoSpecifiedTests=false
   ./mvnw spotless:apply license:format checkstyle:check license:check -pl 
pinot-integration-tests
   ```
   


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