Jackie-Jiang commented on code in PR #10927:
URL: https://github.com/apache/pinot/pull/10927#discussion_r1235963196
##########
pinot-segment-local/src/main/java/org/apache/pinot/segment/local/upsert/ConcurrentMapPartitionUpsertMetadataManager.java:
##########
@@ -243,6 +249,42 @@ protected GenericRow doUpdateRecord(GenericRow record,
RecordInfo recordInfo) {
}
}
+ protected GenericRow doOverwriteUpdateRecord(GenericRow record, RecordInfo
recordInfo) {
Review Comment:
We can always use this algorithm (loop over each field, only read value when
required)
##########
pinot-segment-local/src/main/java/org/apache/pinot/segment/local/upsert/ConcurrentMapPartitionUpsertMetadataManager.java:
##########
@@ -219,6 +221,10 @@ protected void doAddRecord(MutableSegment segment,
RecordInfo recordInfo) {
@Override
protected GenericRow doUpdateRecord(GenericRow record, RecordInfo
recordInfo) {
assert _partialUpsertHandler != null;
+ // For Overwrite merger, it respects the incoming values unless it's null.
We can use this to optimize disk read.
+ if
(UpsertConfig.Strategy.OVERWRITE.equals(_partialUpsertHandler.getDefaultPartialUpsertMerger()))
{
Review Comment:
Are you comparing a merger with an enum?
--
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]