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

hardening async_key_value_source #1607

Merged
merged 1 commit into from
Mar 25, 2020
Merged

hardening async_key_value_source #1607

merged 1 commit into from
Mar 25, 2020

Conversation

bryanseay
Copy link
Contributor

There was a crash seen in async_key_value_source::lookup_delayed where an invalid row was added to the table. After hardening the class to be explicit about when rows were added, the problem went away. The suspicion is that the lack of a copy constructor occasionally caused issues when inserting via operator[].

@bryanseay bryanseay requested a review from gnosek March 24, 2020 20:59
Copy link
Contributor

@krishnan-ramkumar krishnan-ramkumar left a comment

Choose a reason for hiding this comment

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

LGTM -- Always work with iterators and never use [] for a lookup or modification is what I have learnt from experience.
m_value_map[key].m_available = false --> eeeek. So wrong on so many levels.

Copy link
Contributor

@gnosek gnosek left a comment

Choose a reason for hiding this comment

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

Can't say I grok the patch enough to pinpoint the "here is the bug" line in the diff but if it helps...

@bryanseay bryanseay merged commit a6ca258 into dev Mar 25, 2020
@bryanseay bryanseay deleted the async_key_value_cleanup branch March 25, 2020 17:13
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.

3 participants