Commit 56e95a0
Document identity-only contract of getPartitionIdNormalizer
Minor clarification: the reviewer flagged that legacy partition
functions (HashCodePartitionFunction / ByteArrayPartitionFunction)
use Kafka-style abs handling Integer.MIN_VALUE → 0, while
PartitionIntNormalizer.ABS does strict mod-then-abs. These differ at
the MIN_VALUE edge case. The string returned from
getPartitionIdNormalizer is purely advertised for staleness/identity
matching between config-side and segment-side function metadata, not
used to drive runtime normalization for legacy functions (which have
their own internal partition-id calculation). Expression-mode
pipelines are the only code path where this value is authoritative
(via PartitionIntNormalizer.fromConfigString).
Document the contract on the SPI Javadoc so plugin authors and
future maintainers don't mistake the string for a runtime hook.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>1 parent 7832cde commit 56e95a0
1 file changed
Lines changed: 9 additions & 0 deletions
File tree
- pinot-segment-spi/src/main/java/org/apache/pinot/segment/spi/partition
Lines changed: 9 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
103 | 103 | | |
104 | 104 | | |
105 | 105 | | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
106 | 115 | | |
107 | 116 | | |
108 | 117 | | |
| |||
0 commit comments