gortiz commented on PR #10687: URL: https://github.com/apache/pinot/pull/10687#issuecomment-1550966001
> I think all the confusion from the reviewers stemmed from the fact that the boundaries got blurred in one case but we're calling out separation in another case. I understand the confusion, but I think this is the correct design: - At programming level, a MutableIndex is, by definition, an IndexReader but not an IndexCreator. - At human level, we know that MutableIndexes are used to create indexes in realtime tables, but we should understand that IndexCreator (the interface) is not the only way to create an index. IndexCreator, as all Java interfaces, is a contract that imposes some constraints. MutableIndex implementations do not fulfil this contract, so MutableIndex cannot implement IndexCreator. I would say that the confusion is not due to MutableIndex implementing IndexReader but not IndexCreator. The thing that creates the confusion is the name of IndexCreator. Given that IndexCreator is the interface that is used to create offline indexes, it should be called something like `OfflineIndexCreator`. I'm sure if that was the actual name, reviewers wouldn't be confused. We can change the name of IndexCreator in this or another PR if you think it would be better. I would prefer to do that in another PR in order to do not merge the changes from a rename here. -- 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