-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Open
Labels
affects-8.5This bug affects the 8.5.x(LTS) versions.This bug affects the 8.5.x(LTS) versions.component/backup-restoreComponent: backup, import, external_storageComponent: backup, import, external_storagetype/enhancementThe issue or PR belongs to an enhancement.The issue or PR belongs to an enhancement.
Description
Development Task
The current pitr is pretty slow due to there are too many small files, also putting files via raft protocol make us suffer from write amplification.
If we can merge files as SST, it will be possible to get rid of the problems above.
Tracking of tasks
Can be merge without kvproto change:
This modification includes all modifications applies to the external storage. Including:
- Add the
iter_prefixmethod to external storage.- Add the
lockmethod to external storage. This is used to control concurrent accessing the external storage.- Allow finished in memory
SstWriters can be reopened.
Waiting kvproto changes:
- Add CRC64 for logs generated by log backup. #17406
- compact_log_backup: implement the basic library for compacting #17631
This will provide a library that can be used to compact logs.
The library exposes a structure namedExecutionfor caller. TheExecutioncontains the core things of a compaction:
- Collect files from backup data.
- Generate compaction works.
- Execute the compaction works.
The
Executioncan be extended by adding Hooks to it.
The hooks includes:
- Saving the metadata of compaction.
- Locking the Storage.
- Print the logs.
- etc..
This will provide an entrance for the function.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
affects-8.5This bug affects the 8.5.x(LTS) versions.This bug affects the 8.5.x(LTS) versions.component/backup-restoreComponent: backup, import, external_storageComponent: backup, import, external_storagetype/enhancementThe issue or PR belongs to an enhancement.The issue or PR belongs to an enhancement.