IntersectMBO / IntersectMBO/lsm-tree

[BUG] Types of fields for `SnapshotCorruptedError` are not exposed

Open
#871 0 comments 1 reaction 0 assignees View on GitHub
bug good first issue lsm-tree priority: medium
Dominant language
Haskell
Stars
53
Forks
17
Avg merge
2d 3h
Merged PRs (30d)
4

Description

**Describe the bug**
The public API exposes the `SnapshotCorruptedError` type but, probably wisely, does not expose `FileCorruptedError` or `FileFormat`.

**Expected behavior**
The type hierarchy is exported in its entirety.

**Suggested change**
Create a `SnapshotCorruptedError` type in `Database.LSMTree` that contains a `SnapshotName`, a `FsErrorPath`, and an error message, and repackage the internal `SnapshotCorruptedError` into this type. Likewise, create a simple `SnapshotCorruptedError` type in `Database.LSMTree.Simple` that replaces the `FsErrorPath` with a `FilePath` and repackage the full `SnapshotCorruptedError` into the simple `SnapshotCorruptedError`.

Contributor guide

Open the contributing guide

Research direction

Locate the internal SnapshotCorruptedError definitions and the public Database.LSMTree and Database.LSMTree.Simple modules. Compare their exports and error representations, then verify that both public APIs expose the requested snapshot and path fields while preserving the stated type hierarchy.

Written by the indexing model from the issue text.

Assessment

Tech stack
haskell
Domain
databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
54/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.