Skip to content

Comments

cmd/recordexec: Also save proposed blocks to filesystem#1

Draft
hi-im-milan wants to merge 1 commit intokjcamann:ken/event-recovery-new-event-sourcefrom
hi-im-milan:rfc-recordexec
Draft

cmd/recordexec: Also save proposed blocks to filesystem#1
hi-im-milan wants to merge 1 commit intokjcamann:ken/event-recovery-new-event-sourcefrom
hi-im-milan:rfc-recordexec

Conversation

@hi-im-milan
Copy link

What?

We can dump all the proposed blocks to the filesystem in proposals subdir and once they get finalised - simply move them to the correct archive directory. Benefit of this approach is that applications ingesting monad events can rely completely on the filesystem operations (including inotify) to detect new blocks, without waiting for block to be verified.

This is a RFC commit, there are things that need to be cleaned up + it hasn't been tested.
I think this approach shouldn't add much overhead, unless we are expecting to have lot of blocks which are proposed but not verified. rename(2) should be pretty much an instant operation as long as src and dst are on the same filesystem (which should be the case). This feature can also be optionally enabled.

We can dump all the proposed blocks to the filesystem in `proposals` subdir
and once they get finalised - simply move them to the correct archive directory.
Benefit of this approach is that applications ingesting monad events can rely
completely on the filesystem operations (including inotify) to detect new blocks,
without waiting for block to be verified.

This is a RFC commit, there are things that need to be cleaned up + it
hasn't been tested.
I think this approach shouldn't add much overhead, unless we are expecting to
have lot of blocks which are proposed but not verified. rename(2) should be
pretty much an instant operation as long as src and dst are on the same
filesystem (which should be the case). This feature can also be optionally enabled.

Signed-off-by: Milan Pandurov <milan.pandurov@tenderly.co>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant