apache / pinot

Apache Pinot - A realtime distributed OLAP datastore
https://pinot.apache.org/
Apache License 2.0
5.27k stars 1.23k forks source link

Validate table name before deletion via User Interface #10439

Open Ehsan-Irshad opened 1 year ago

Ehsan-Irshad commented 1 year ago

As a admin when I delete a table on Apache Pinot UI instead of just a confirmation box, I should be requested to validate the table name & type it manually in a dialog box. This is to make sure no wrong table is deleted as sometimes admin might be working with multiple browser tabs

Jackie-Jiang commented 1 year ago

cc @joshigaurava @jayeshchoudhary

mayankshriv commented 1 year ago

Curious if other systems also require something similar?

jadami10 commented 1 year ago

Curious if other systems also require something similar?

I've been thinking about this question for a while. I think for a normal SQL database the answer is, "kind of". You drop a table by typing out DROP TABLE <table_name> where you're effectively doing what's asked here. Github makes you type out the repo name if you're going to delete it. I can't find the post mortem, but I believe AWS and other companies have moved to requiring a second human sign off on (like actively run some command or approve on website) any destructive commands.

All of that said, I think I agree with the ask here. I think anyone running Pinot in prod and relying on the current UI would welcome this feature. If we're worried someone's workflow would really be harmed by this, maybe we can add a "do not ask again for X days" checkbox?

jadami10 commented 3 weeks ago

After a few more incidents this year where we accidentally deleted the wrong table, I think we also want users to type out the cluster name. If you have a set up where users test tables on a different cluster, it's very easy to accidentally delete the real one instead of the test one.