jackjlli commented on pull request #7912: URL: https://github.com/apache/pinot/pull/7912#issuecomment-995471877
The goal of introducing the storage quota is safeguard the storage from being overused. The current logic to calculate **total** storage quota for a generic table is as follow: ``` long allowedStorageBytes = numReplicas * quotaConfig.getStorageInBytes(); ``` The quota value above denotes the upper limit of a single replica, not for all the replicas. So the quota config has already been used for a single replica. Since dimension table is a special case of table that is replicated to all the servers, which means that every server will hold a complete dataset for the dimension table. In this case, the replication isn't controlled by the replica config from table config but purely by the number of servers. E.g. suppose the single replica for a **dimension** table is 8G and the storage quota is 10G. If there are 3 servers, the total table size would be 8G x 3 = 24GB, and the total storage quota would be 10G x 3 = 30GB, which is valid. If 2 more servers are added to the same tenant, the total table size would become 8G x 5 = 40G and the total storage quota would become 10G x 5 = 50G, which is still valid. Thus, the code change seems fine to me. -- 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