ddcprg commented on code in PR #9163:
URL: https://github.com/apache/pinot/pull/9163#discussion_r938509887


##########
pinot-core/src/main/java/org/apache/pinot/core/data/manager/realtime/LLRealtimeSegmentDataManager.java:
##########
@@ -548,9 +549,14 @@ private boolean processStreamEvents(MessageBatch 
messagesAndOffsets, long idlePi
       // this can be overridden by the decoder if there is a better indicator 
in the message payload
       RowMetadata msgMetadata = messagesAndOffsets.getMetadataAtIndex(index);
 
-      GenericRow decodedRow = _messageDecoder
-          .decode(messagesAndOffsets.getMessageAtIndex(index), 
messagesAndOffsets.getMessageOffsetAtIndex(index),
-              messagesAndOffsets.getMessageLengthAtIndex(index), reuse);
+      GenericRow decodedRow = null;

Review Comment:
   agree, I think the idea is that the decoder encapsulates retry logic and 
error handling and only throw an exception  when it is exhausted to let the 
data manager retry ingestion. The decoder should return `null` if the payload 
cannot be decoded.
   
   We have added documentation to `StreamMessageDecoder` however there are 
already OTB decoders which break this contract and users may still want to use 
them - this could also be the case of third-party plugins. We could make the 
decoders backwards incompatible, treat the issue as a bug and ignore this 
change instead but I think this may still be handy.
   



-- 
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: commits-unsubscr...@pinot.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org
For additional commands, e-mail: commits-h...@pinot.apache.org

Reply via email to