Skip to content

Mixed use of IDevice and direct local file access #148

@tli2

Description

@tli2

In the checkpointing code (Checkpoint.cs, FasterKV::GlobalMoveToNextState), logs are written through the IDevice interface by calling Devices::CreateLogDevice. However, on the recovery code path (Contexts.cs, IndexRecoveryInfo::Recover), the system is hard-coded to use StreamReader on the given file path, assuming that the file exists on the local disk.

This results in failure of recovery tests when one naively changes the implementation of Devices::CreateLogDevice to supply a non-file based device, but fails to special case checkpointing code.

The failure to find recovery file also seems to be silent.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions