Vamsi-klu opened a new pull request, #19531:
URL: https://github.com/apache/pinot/pull/19531
This is the parse-only slice of #17260. Readers can recognize
`table__v2__topicId__partitionId__sequence__creationTime` names. Generation
stays on the existing 4-part V1 constructor. No V2 names are written.
Not stacked on #18830, #18913, or #18949. Those PRs write a 5-part name or
keep packed ints. This one only teaches `LLCSegmentName` and a new
`StreamPartitionIdentity` type to read the 6-token `v2` grammar.
## What changed
- `LLCSegmentName` accepts V1 (4 tokens) and V2 (6 tokens, literal `v2`).
- `isLLCSegment`, `of`, and `getSequenceNumber(String)` handle both.
- `getPartitionGroupId()` stays an `int` and is V1-only (throws on V2), per
Jackie on #18913.
- New accessors: `getFormatVersion()`, `getTopicId()`, `getPartitionId()`,
`getStreamPartitionIdentity()`.
- `StreamPartitionIdentity` in `pinot-spi`. No `topicId * 10000` helpers.
- Uploaded 5-part names and the #18830 5-part grammar stay non-LLC.
- `IngestionConfigUtils` packing is unchanged.
`formatV2` is package-private for tests. Production writers still use the
4-arg V1 constructor.
## Validation
```
./mvnw -pl pinot-common,pinot-spi -am \
-Dtest=LLCSegmentNameTest,StreamPartitionIdentityTest \
-Dsurefire.failIfNoSpecifiedTests=false test
```
13 tests passed. Spotless, checkstyle, and license checks passed on
`pinot-spi` and `pinot-common`.
Base: apache/master `26bf075d16` after rebase.
Label: `bugfix` (template requirement).
--
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]