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

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

The following is a summary of the changes involved in this discussion:
1. When do deleting, add a parameter to determine whether to delete the trash 
table directly. If not, the trash table will be retained for a period of time 
by default. 
2. ListTables() does not display the trash table. If we want to display the 
trash table, we need to add a new API with new parameters.
3. After deleting a table, we do not need to modify the table name, but 
directly manage it through the newly added independent abandoned table list and 
use "trashed_time” field to maintains the deletion time. When reloading, the 
destination container for loading is determined according to whether there are 
“trashed_time” field (a separate container for the trash table).
4. When do recalling, we could have users recall by specifying a table ID, and 
potentially giving a new name for the recalled table.
In addition to these contents, is there anything to be added?

> 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