9aman commented on code in PR #16071:
URL: https://github.com/apache/pinot/pull/16071#discussion_r2174254274
##########
pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/realtime/PinotLLCRealtimeSegmentManager.java:
##########
@@ -2514,28 +2516,19 @@ public void
repairSegmentsInErrorStateForPauselessConsumption(TableConfig tableC
segmentsInErrorStateInAtLeastOneReplica.size(),
segmentsInErrorStateInAtLeastOneReplica,
segmentsInErrorStateInAllReplicas.size(),
segmentsInErrorStateInAllReplicas, realtimeTableName);
- boolean isPartialUpsertEnabled =
- tableConfig.getUpsertConfig() != null &&
tableConfig.getUpsertConfig().getMode() == UpsertConfig.Mode.PARTIAL;
- boolean isDedupEnabled = tableConfig.getDedupConfig() != null &&
tableConfig.getDedupConfig().isDedupEnabled();
- if ((isPartialUpsertEnabled || isDedupEnabled) &&
!repairErrorSegmentsForPartialUpsertOrDedup) {
+ if
(!allowRepairOfErrorSegments(repairErrorSegmentsForPartialUpsertOrDedup,
tableConfig)) {
// We do not run reingestion for dedup and partial upsert tables in
pauseless as it can
// lead to data inconsistencies
_controllerMetrics.setOrUpdateTableGauge(realtimeTableName,
ControllerGauge.PAUSELESS_SEGMENTS_IN_UNRECOVERABLE_ERROR_COUNT,
segmentsInErrorStateInAllReplicas.size());
- LOGGER.error("Skipping repair for errored segments in table: {} because
dedup or partial upsert is enabled.",
- realtimeTableName);
+ LOGGER.error("Skipping repair for errored segments in table: {}.",
realtimeTableName);
Review Comment:
Can we move these log lines to the function `allowRepairOfErrorSegments`
since it's only being called from here.
We can then add information like `PartialUpsert enabled` or
`repairErrorSegmentForPartialUpsertOrDedup is set to true` as the reason for
skipping re-ingestion instead of loosing this info.
--
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]