-
Notifications
You must be signed in to change notification settings - Fork 38
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
Resolve 175 race condition, no change to hook timing #178
Conversation
move unused query executor dependencies to response manager
realign requestqueud and incoming request timing while maintaining fix to bug behavior
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not a Graphsync expert nor do I have the experience to know exactly what's going on here at the code level. But @hannahhoward and I iterated through various solutions offband, and this made the failing tests on Lotus side succeed, while assuring that it doesn't cause a regression with the queued hooks.
* feat: fire network error when network disconnects during request (#164) * release: 0.6.1 * Better logging for Graphsync traversal (#167) * log gs traversal * Apply suggestions from code review Co-authored-by: dirkmc <dirkmdev@gmail.com> * add debug logs * add debug logs Co-authored-by: dirkmc <dirkmdev@gmail.com> * release: v0.6.2 (#168) * Fix/log blockstore reads (#169) * log gs traversal * Apply suggestions from code review Co-authored-by: dirkmc <dirkmdev@gmail.com> * add debug logs * fixed logging * Apply suggestions from code review Co-authored-by: dirkmc <dirkmdev@gmail.com> * fixed error Co-authored-by: dirkmc <dirkmdev@gmail.com> * release: v0.6.3 (#170) * request queued hook * test request queued hook * release: v0.6.4 * Resolve 175 race condition, no change to hook timing (#178) * feat(requestmanager): add request timing (#181) * Add cancel request and wait function (#185) * fix(responsemanager): fix error codes (#182) enforce much tighter consistency with graphsync spec in usage of error codes * refactor: replace particular request not found errors with public error (#188) * release: 0.6.8 Co-authored-by: dirkmc <dirkmdev@gmail.com> Co-authored-by: Aarsh Shah <aarshkshah1992@gmail.com>
Goals
fix #175
Implementation
This builds of #176 but avoids moving hooks around in terms of timing in any substantive way. Rather, it cleans up hook processing to insure that request hooks are processed only on the main response manager thread, so that there aren't races with any calls made during hook processing.