Document recovery point API
Nobody has claimed this yet.
- Dominant language
- CSS
- Stars
- 15
- Forks
- 49
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 3
Description
Product: Tarantool
Since: 3.8
box.backup.recovery_point.create() is introduced to create
recovery point. Recovery point is point in xlog to which one can
truncate it to produce committed state at the time of point creation. The
recovery point has replica_id, lsn pair which unambiguously specify
a statement in xlog. The statement itself should be included on
truncation.
The result is table:
tarantool> box.backup.recovery_point.create()
---
- lsn: 46
timestamp: 1782208661.7946
replica_id: 1
...
Result fields are:
timestamp- Unix-time of recovery point in seconds. It is less than
or equal to commit time of recovery point entry and larger than or
equal to time of recovery point creation API call.replica_id- replica_id of recovery point statement in xlog.lsn- lsn of recovery point statement in xlog.
Create can also take a label as options parameter:
tarantool> box.backup.recovery_point.create({label = 'label-1'})
- lsn: 46
timestamp: 1782208661.7946
replica_id: 1
label: label-1
Recovery points are persistent and replicated.
New box.backup.info().recovery_points field shows all created recovery
points that resides in xlogs of backup in progress.
tarantool> box.backup.recovery_point.create()
tarantool> box.backup.recovery_point.create({label = 'label-1'})
tarantool> box.backup.start()
tarantool> box.backup.info().recovery_points
---
- - lsn: 1
timestamp: 1782208906.2023
replica_id: 1
- lsn: 3
timestamp: 1782208908.4776
replica_id: 1
label: label-1
...
Requested by @nshy in https://github.com/tarantool/tarantool/commit/73b2b4bff1629c21288258536b5607b02a680994.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by finding the existing documentation for box.backup and its info() API, then add the box.backup.recovery_point.create() entry point and the recovery_points field. Document the result fields, optional label, persistence and replication behavior, and the backup-in-progress example shown in the issue.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- lua
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100