[
https://issues.apache.org/jira/browse/FLINK-27557?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17539352#comment-17539352
]
Jane Chan commented on FLINK-27557:
-----------------------------------
{quote}Can we just use overwrite?
* overwrite specific manifest entries.
* overwrite whole table or some whole partition. (eg: when rescale in
compaction){quote}
Overwrite means the writer cannot accept the specified manifest entries as
restored files, so how to pass them to FileStoreCommit as compact before(mark
as delete) is a new question. Beyond that, overwrite corresponds to the commit
kind "OVERWRITE", but it should be more suitable to use "COMPACT" in this
situation.
I rethink it and maybe we don't need to generate the new files for the normal
compaction.
* The simplest way is to build the levels from the restored files, and don't
sink record to MemTable, and submit compaction when precommit is invoked.
* In the future, maybe we can introduce a new dedicated compaction source to
restore LSM, perform compaction and commit, which avoids the shuffle cost.
!normal-compaction.png!
!rescale-bucket-compaction.png!
!optimized-normal-compaction.png!
> Create the empty writer for 'ALTER TABLE ... COMPACT'
> -----------------------------------------------------
>
> Key: FLINK-27557
> URL: https://issues.apache.org/jira/browse/FLINK-27557
> Project: Flink
> Issue Type: Sub-task
> Components: Table Store
> Affects Versions: table-store-0.2.0
> Reporter: Jane Chan
> Priority: Major
> Fix For: table-store-0.2.0
>
> Attachments: normal-compaction.png, optimized-normal-compaction.png,
> rescale-bucket-compaction.png
>
>
> Currently, FileStoreWrite only creates an empty writer for the \{{INSERT
> OVERWRITE}} clause. We should also create the empty writer for manual
> compaction.
--
This message was sent by Atlassian Jira
(v8.20.7#820007)