[ 
https://issues.apache.org/jira/browse/KUDU-3326?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17441699#comment-17441699
 ] 

dengke commented on KUDU-3326:
------------------------------

[~awong]  First of all, allow me to apologize again for ignoring your comments. 
I would like to answer your comments and questions as follows:
1.Can we add a parameter to decide whether to eliminate (redundant) trash 
tables when deleting tables? If so, your elimination method will be very 
appropriate. Otherwise, the deletion will fails. In addition, we can add a 
parameter to control the number of retained trash tables, which is 1 by 
default. Increasing the parameters can avoid the risk of data loss.
2. When HMS-synchronization is enabled,considering that HMS only manages 
metadata and has no impact on the timing data of kudu, it can be deleted 
directly from HMS. Rebuild it on the HMS during recall.
3. I think the trash table should be a read-only state, which can be list, open 
and scan. Just disable writing is OK.

> Add Soft Delete Table Supports
> ------------------------------
>
>                 Key: KUDU-3326
>                 URL: https://issues.apache.org/jira/browse/KUDU-3326
>             Project: Kudu
>          Issue Type: New Feature
>          Components: api, CLI, client, master, test
>            Reporter: dengke
>            Assignee: dengke
>            Priority: Major
>
> h2. Brief description:
>         Soft delete means that the kudu system will not delete the table 
> immediately after receiving the command to delete the table. Instead, it will 
> mark the table and set a validity period. After the validity period, will try 
> again to determine whether the table really needs to be deleted.
>          This feature can restore data conveniently and timely in the case of 
> accidental deletion.
> h2. Relevant modification points:
> 1. After deleting a table, the original table name will be renamed as 
> KUDU_TRASHED: < timestamp >: < original table name >, which becomes a trash 
> table.
>  2. The contents of the trash table are exactly the same as those of the 
> original table.   Although it cannot be renamed, added or deleted directly, 
> it can be read and written normally. The trash table will be retained for a 
> period of time by default (such as 7 days, which can be modified through 
> parameters). The compact priority of the trash table will be set to the 
> lowest to save the system resources.
>  3. The master needs to add a thread to process expired trash tables and 
> perform real deletion.
>  4. It is allowed to create a table with the same name as the original table, 
> and the newly created table with the same name can be deleted normally.
>  5. It is allowed to recall deleted tables, but the following two situations 
> cannot be recalled: the same original table name exists and the trash table 
> has expired.
> 6. The KUDU_TRASHED is a reserved string for the system. Users are not 
> allowed to create a table with table names starting with KUDU_TRASHED.
>  7. Kudu tool adaptation soft deletion.
>  8. Java API adaptation soft deletion.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to