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

Async/await and FDB 6.1 support #137

Closed
wants to merge 18 commits into from
Closed

Async/await and FDB 6.1 support #137

wants to merge 18 commits into from

Conversation

dae
Copy link
Contributor

@dae dae commented Sep 1, 2019

Please see #135

Closes #135 #136 #125 #124 and #111

brndnmtthws and others added 18 commits September 1, 2019 14:59
- build on nightly until rust 1.39 arrives
- switch to 6.1 API and create database directly
- drop support for Cluster and FDB releases prior to 6.1, as
the async changes are a breaking change anyway
- updated db.transact to retry failures in body, as in
#125
- made should_retry() on error objects public
- changed some sync functions that were using .wait() to async
(eg HCA allocate)
When fdb_future_destroy() is called on a future that hasn't resolved,
it causes the callback to fire. If it fires after the box the waker/task
was held in has already been deallocated, it can result in a crash.
Fix the issue by dropping the allocation in the callback instead.

This issue also exists in the stable foundationdb-rs release.
This reverts commit 371c34d.

While rust-toolchain remains in the repo, stable and beta tests
seem to run on nightly as well, so we should be able to leave the
tests there and they'll automatically start running on beta/stable
again when rust-toolchain is removed after the rust 1.39 release.
@Speedy37
Copy link
Contributor

I'm closing this in favor of #143
If you see any thing missing in #143 that is in that pull request, don't hesitate.

@Speedy37 Speedy37 closed this Nov 15, 2019
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.

Async/await and FDB 6.1 support
3 participants