rohityadav1993 commented on code in PR #14494:
URL: https://github.com/apache/pinot/pull/14494#discussion_r1850516862
##########
pinot-controller/src/main/java/org/apache/pinot/controller/api/resources/PinotSegmentRestletResource.java:
##########
@@ -425,13 +426,14 @@ public SuccessResponse reloadSegment(
/**
* Helper method to find the existing table based on the given table name
(with or without type suffix) and segment
* name.
- * TODO: Real-time table might also contain uploaded segments (not with LLC
name), which is not handled here.
*/
private String getExistingTable(String tableName, String segmentName) {
TableType tableType =
TableNameBuilder.getTableTypeFromTableName(tableName);
if (tableType == null) {
// Derive table type from segment name if the given table name doesn't
have type suffix
- tableType = LLCSegmentName.isLLCSegment(segmentName) ?
TableType.REALTIME : TableType.OFFLINE;
Review Comment:
For LCCSegment too, it seems it is not guaranteed only for realtime table.
There are no validations in `PinotSegmentUploadDownloadRestletResource` that
LCCSegment should only be uploaded to realtime table and segment assignments
for offline tables don't check segmentNames.
Additionally, there are places in code discouraging deriving table type from
segmentName, I think we can either consolidate segmentName to table types in
one place and/or enforce segmentNames to realtime table type:
```
// Fetch table name. Try to derive the table name from the parameter and
then from segment metadata
String rawTableName;
if (StringUtils.isNotEmpty(tableName)) {
rawTableName = TableNameBuilder.extractRawTableName(tableName);
} else {
// TODO: remove this when we completely deprecate the table name
from segment metadata
rawTableName = segmentMetadata.getTableName();
LOGGER.warn("Table name is not provided as request query parameter
when uploading segment: {} for table: {}",
segmentName, rawTableName);
}
```
--
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]