jugomezv commented on code in PR #9994:
URL: https://github.com/apache/pinot/pull/9994#discussion_r1055627527
##########
pinot-server/src/main/java/org/apache/pinot/server/starter/helix/SegmentOnlineOfflineStateModelFactory.java:
##########
@@ -91,6 +92,16 @@ public void onBecomeOnlineFromConsuming(Message message,
NotificationContext con
TableDataManager tableDataManager =
_instanceDataManager.getTableDataManager(realtimeTableName);
Preconditions.checkNotNull(tableDataManager);
+ if (tableDataManager instanceof RealtimeTableDataManager) {
Review Comment:
I can do this but I don't like the way the code ends up looking like: since
we are talking about a TableDataManager and not a BaseTableDataManager, I will
still have to cast TableDataManager to BaseTableDataManager before I invoke the
method. (Note the hierarchy is as follows
TableDataManager->BaseTableDataManager->RealTimeTableDataManager) As an
alternative I can bring these interfaces up to TableDataManager and override in
BaseDataManager as nop function and then with the implementation I need in
RealTimeTableDataManager. This has the problem that we start exposing low level
interfaces in what should be the high level TableDataManager. So I think it is
best to leave the code as is.
--
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]