gortiz commented on code in PR #15919:
URL: https://github.com/apache/pinot/pull/15919#discussion_r2120477668
##########
pinot-common/src/main/java/org/apache/pinot/common/datablock/BaseDataBlock.java:
##########
@@ -85,7 +85,9 @@
@SuppressWarnings("DuplicatedCode")
public abstract class BaseDataBlock implements DataBlock {
protected static final int HEADER_SIZE = Integer.BYTES * 13;
- // _errCodeToExceptionMap stores exceptions as a map of
errorCode->errorMessage
+ /// _errCodeToExceptionMap stores exceptions as a map of
errorCode->errorMessage
+ /// Only values from QueryErrorCode are allowed as keys, but readers should
not assume that given newer components
Review Comment:
I think the text is correct. Readers cannot assume the only values that will
be received are the ones found in QueryErrorCode because a more modern server
may have more error codes and therefore send an error the reader doesn't
recognize. What to do in that case (ignore the error, map it to unknown, keep
it as it is) is the reader responsibility.
Right now code in master fails in case new error codes are received. The
consequence is that in case we add a new error code (we didn't in a while), if
that new error happens during an upgrade, the receiver operator of a
non-upgraded server will fail with an internal error instead of the correct
one. We should change the code to be more resilient, but given that it only
happens when errors are thrown during an upgrade, it doesn't to be a blocking
issue, but at least I wanted to register that in the comment
--
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]