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

Reply via email to