sajjad-moradi commented on PR #13584:
URL: https://github.com/apache/pinot/pull/13584#issuecomment-2266179376

   I just had a discussion with @mcvsubbu about this. Here's what we think:
   With the proposed solution in this PR, there will be two IS flags indicating 
if the table is paused: "isTablePaused" and "isQuotaExceeded". That doesn't 
sound right. Instead we can have a more detailed field called pauseStatus. 
Here's an example for the storage quota exceed case:
   ```json
   "pauseStatus": {
     "isPaused": true,
     "reasonCode": "STORAGE_QUOTA_EXCEEDED",
     "comment": "Current storage 2.3G exceeds quota 2.0G",
     "time": "2024-08-01T09:30:00Z"
   }
   ```
   And here is an example for a regular pause that's caused by an admin hitting 
the pause endpoint:
   ```json
   "pauseStatus": {
     "isPaused": true,
     "reasonCode": "ADMINISTRATIVE",
     "comment": "Need to change the underlying topic",
     "time": "2024-08-01T09:30:00Z"
   }
   ```
   This way in case in future there's another reason for pausing the table, 
there's no need to add yet another field to IS to pause the table. We can 
simply do that by adding another `reasonCode` which is an enum in the source 
code.
   Moreover, in case in future we want to extend pause functionality like 
adding support for partition level pausing, we can simply add more fields to 
pauseStatus.
   


-- 
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