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

Reply via email to