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