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

   Removes APIs whose deprecations shipped in the 1.3.0 cycle (2024 H2 – early 
2025). Part of a series of per-release deprecation sweeps.
   
   Every removed member was verified deprecated as of the `release-1.3.0` tag 
and to have zero non-deprecated production callers. Full-reactor 
`test-compile`, `checkstyle:check`, and `license:check` pass.
   
   ## Removed
   
   - **`FunctionRegistry.containsFunction(String)`** and 
**`getFunctionInfo(String, int)`** → `contains(canonicalize(name))` / 
`lookupFunctionInfo(canonicalize(name), n)`.
   - **`TransformFunctionType.getAlternativeNames()`**.
   - **`ScalarFunction.isPlaceholder()`** annotation attribute — no 
`@ScalarFunction` application anywhere set it, and nothing read it.
   - **`SegmentGeneratorConfig.is/setNullHandlingEnabled`** and 
**`RealtimeSegmentConfig.Builder.setNullHandlingEnabled`** — pure aliases of 
the `defaultNullHandlingEnabled` accessors.
   - **`Schema.clone()`** (undocumented shallow copy; `cloneSchemaWithName` is 
untouched).
   - **`QueryContext.Builder.setExplain(boolean)`** → the `ExplainMode` 
overload.
   - **`ControllerRequestURLBuilder.forSegmentsMetadataFromServer(String, 
String)`** → the `List<String>` overload.
   - **`SegmentAssignmentUtils.getNumSegmentsToBeMovedPerInstance`** → 
`getNumSegmentsToMovePerInstance`. (The removed version also carried a latent 
unchecked-`get` NPE.)
   - **`BrokerSelectorUtils.getTablesCommonBrokers`** → 
`getTablesCommonBrokersSet`, which returns an empty set rather than `null`. Its 
six List-variant tests were dropped; each had a parallel Set-variant test that 
remains.
   - **Dedup SPI**: the deprecated `checkRecordPresentOrUpdate(PrimaryKey, 
IndexSegment)` is gone from `PartitionDedupMetadataManager`, and the surviving 
`DedupRecordInfo` overload is now a plain abstract method rather than a default 
that delegated into it. See the compat note below.
   - **Dead non-split-commit residue**: 
`ServerSegmentCompletionProtocolHandler.segmentCommit(...)` and 
`SegmentCompletionProtocol.SegmentCommitRequest`, orphaned when #14559 removed 
the controller endpoints. These two were never annotated `@Deprecated` — they 
are dead code removed alongside their release-line neighbours. 
`MSG_TYPE_COMMIT` is **retained**, with a comment, because it is still the FSM 
lookup key in `SegmentCompletionManager`.
   
   Also refreshes the `SegmentCompletionProtocol` class javadoc, which still 
described the removed single-shot commit flow, to document the actual 
split-commit sequence.
   
   ## backward-incompat
   
   Please apply the **`backward-incompat`** label.
   
   Two items deserve explicit release-note treatment:
   
   1. **Custom dedup metadata managers** (`dedupConfig.metadataManagerClass`, 
loaded reflectively) must now implement 
`checkRecordPresentOrUpdate(DedupRecordInfo, IndexSegment)` directly. An 
implementation that only overrode the deprecated `PrimaryKey` variant 
previously worked via the default delegation; it will now fail with 
`AbstractMethodError` at ingestion time. Such implementations were already 
broken in practice — the base class's `PrimaryKey` override threw 
`UnsupportedOperationException` — but the failure mode changes.
   2. **Binary-breaking `pinot-spi` / `pinot-segment-spi` / `pinot-java-client` 
removals**: old binaries calling e.g. `Schema.clone()` will get 
`NoSuchMethodError`. Replacements are listed above.
   
   No config keys, wire formats, or ZK-serialized fields are touched.
   


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