Skip to content

Discontinuous append queue file sequnce #350

@v0y4g3r

Description

@v0y4g3r

Accidentally I found that raft-engine's data directory contains discontinuous file sequences in append queue:

0000000000000003.rewrite
0000000000000846.raftlog
0000000000000847.raftlog
0000000000000848.raftlog
0000000000000849.raftlog
0000000000000850.raftlog
0000000000000851.raftlog
0000000000000852.raftlog
0000000000000853.raftlog
0000000000000854.raftlog
0000000000000855.raftlog
0000000000000856.raftlog
0000000000000857.raftlog
0000000000000858.raftlog
0000000000000859.raftlog
0000000000000860.raftlog < here
0000000000000890.raftlog

During raft-engine's recover process, all files before 0000000000000890 in append queue will be skipped.
I am curious if such a situation would occur in normal program operation as when I dive into the purge code:

let mut tail = files.split_off(off);

Looks like in purge_to method normally all files before file_seq are either all deleted or not.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions