Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generalize ChunkInfo #705

Open
edsko opened this issue Mar 6, 2020 · 4 comments
Open

Generalize ChunkInfo #705

edsko opened this issue Mar 6, 2020 · 4 comments
Labels
enhancement New feature or request

Comments

@edsko
Copy link
Contributor

edsko commented Mar 6, 2020

IntersectMBO/ouroboros-network#1750 moved the immutable DB away from being epoch based to being chunk based. However, it only supports a simple uniform chunk size. Changing that should now be relatively easy; the hardest part will be to update the tests. It will be useful to change this because if we use a single uniform chunk size, and those chunks can contain EBBs (as they can for Byron), then that chunk size must be set to the Byron epoch size -- meaning that the chunks for Shelley will not contain very many blocks. The immutable DB can support multiple chunk sizes in principle, and moreover, those chunk sizes only need to be related to epoch sizes for chunks that contain EBBs. Hence, we could (and proabably should) pick a different chunk size for the post-EBB era (Shelley, or indeed the OBFT hard fork).

@edsko edsko added the enhancement New feature or request label Mar 6, 2020
@edsko
Copy link
Contributor Author

edsko commented Mar 6, 2020

If we do this after the fact, we'll have to think about migrating existing on-disk chunk files that don't correspond to the chunk sizes we were expecting.

@edsko
Copy link
Contributor Author

edsko commented Mar 6, 2020

I'm envisioning something like

data ChunkInfo =
    UniformChunkSize ChunkSize
  | PostEBBs 
      ChunkSize   -- Pre-OBFT chunk size (with EBBs)
      SlotNo      -- Changeover point
      ChunkSize   -- Post-OBFT (without EBBs)

(which means translations are still fast, no need for something akin to CumulEpochSizes).

@edsko
Copy link
Contributor Author

edsko commented Mar 6, 2020

If we do this, then #704 could become more important.

@mrBliss
Copy link
Contributor

mrBliss commented Jun 30, 2020

First do #386, which will require an ImmutableDB migration anyway.

@mrBliss mrBliss removed their assignment Jun 30, 2020
@dnadales dnadales transferred this issue from IntersectMBO/ouroboros-network Dec 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants