Skip to content

hardening async_key_value_source#1607

Merged
bryanseay merged 1 commit intodevfrom
async_key_value_cleanup
Mar 25, 2020
Merged

hardening async_key_value_source#1607
bryanseay merged 1 commit intodevfrom
async_key_value_cleanup

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