vrajat commented on code in PR #15388: URL: https://github.com/apache/pinot/pull/15388#discussion_r2074743454
########## pinot-core/src/main/java/org/apache/pinot/core/transport/ImplicitHybridTableRouteInfo.java: ########## @@ -0,0 +1,370 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.pinot.core.transport; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; +import javax.annotation.Nullable; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.pinot.common.request.BrokerRequest; +import org.apache.pinot.common.request.InstanceRequest; +import org.apache.pinot.core.routing.ServerRouteInfo; +import org.apache.pinot.core.routing.TimeBoundaryInfo; +import org.apache.pinot.spi.config.table.TableConfig; +import org.apache.pinot.spi.config.table.TableType; +import org.apache.pinot.spi.query.QueryThreadContext; +import org.apache.pinot.spi.utils.CommonConstants; + + +public class ImplicitHybridTableRouteInfo implements TableRouteInfo { + private String _offlineTableName = null; + private boolean _isOfflineRouteExists; + private TableConfig _offlineTableConfig; + private boolean _isOfflineTableDisabled; + + private String _realtimeTableName = null; + private boolean _isRealtimeRouteExists; + private TableConfig _realtimeTableConfig; + private boolean _isRealtimeTableDisabled; + + private TimeBoundaryInfo _timeBoundaryInfo; + + private List<String> _unavailableSegments; + private int _numPrunedSegmentsTotal; + + private BrokerRequest _offlineBrokerRequest; + private BrokerRequest _realtimeBrokerRequest; + private Map<ServerInstance, ServerRouteInfo> _offlineRoutingTable; + private Map<ServerInstance, ServerRouteInfo> _realtimeRoutingTable; + + public ImplicitHybridTableRouteInfo() { Review Comment: I used setter/getters because this class is filled up in two phases as we've discussed on Friday. Also only broker request & routing table is required in `PinotServerDataFetcher.scala`. Its not possible to use final & getters only because of that. Other options are: * Make the members set in getTableRoute final such as table names. * Use a builder. -- 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