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

Check all "not found" errors #175

Merged
merged 1 commit into from
Aug 2, 2024

Conversation

sveitser
Copy link

Currently only the leveldb not found errors are handled. If a pebble not found error is returned by the backend it is propagated, causing the batchposter to fail to send transactions.

With this change all DB not found errors are handled the same way.

Currently only the leveldb not found errors are handled. If a pebble not
found error is returned by the backend it is propagated, causing the
batchposter to fail to send transactions.

With this change all DB not found errors are handled the same way.
@@ -62,7 +62,7 @@ func (s *Storage) Get(_ context.Context, index uint64) (*storage.QueuedTransacti
key := idxToKey(index)
value, err := s.db.Get(key)
if err != nil {
if errors.Is(err, leveldb.ErrNotFound) {
if isErrNotFound(err) {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good call - and are the only errors we care about catching the ones we care about in this function?

func isErrNotFound(err error) bool {
	return errors.Is(err, leveldb.ErrNotFound) || errors.Is(err, pebble.ErrNotFound) || errors.Is(err, memorydb.ErrMemorydbNotFound)
}

Copy link
Author

@sveitser sveitser Jul 30, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know for sure but I believe the implementation of the function that was changed in this PR is supposed to hide the "not found" errors for all db backend implementations, and only these errors.

@sveitser
Copy link
Author

sveitser commented Jul 30, 2024

@sveitser
Copy link
Author

Not sure why CI is failing. Upstream merged the PR already.

@ImJeremyHe ImJeremyHe merged commit 5ff981a into integration Aug 2, 2024
8 checks passed
@ImJeremyHe ImJeremyHe deleted the ma/fix-pebble-not-found-error branch August 2, 2024 07:56
zacshowa pushed a commit that referenced this pull request Nov 26, 2024
Add unit test for conditional OSP
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.

4 participants