-
Notifications
You must be signed in to change notification settings - Fork 8
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
datastax 2.17.1: Deadlock in BasicsTests.Integration_Cassandra_FutureCallback* tests #16
Comments
Reading upstream issue list:
I guess we'll ignore the tests in question and see if it breaks anything else... |
This change adds a patch for 2.17.1 with one difference from .0 being ignored BasicsTests.Integration_Cassandra_FutureCallback* family of tests as they currently cause a deadlock. Reference Issue: scylladb#16
Please give a link to the source you are quoting from, if it's an issue, we should comment there with our finding that is 100% failing with scylla |
It's from the issue I've linked - CPP-987. They seem to know that there's a deadlock possibility, but I am not sure if they find this behaviour expected. Will add my comment. |
This change adds a patch for 2.17.1 with one difference from .0 being ignored BasicsTests.Integration_Cassandra_FutureCallback* family of tests as they currently cause a deadlock. Reference Issue: #16
Regression in
4a0e4f78
of datastax cpp-driver, supposedly fixes following issue: CPP-987.HOWEVER, it introduces a deadlock (at least in this test case, but it seems critical):
The test:
Is very simple, create a callback on a session when it connects.
Now, the commit changes the following file:
Now, here's the deadlock:
cass_future_error_code
which in turn callsFuture::error
which then callsFuture::internal_wait
that waits onis_set_
Future::internal_set
is called, which then proceeds to call the callback.cass_future_error_code
, completing the deadlock as it now waits forever onis_set_
.is_set_
is supposed to be set AFTER callbacks are processed, yet the callback can call public (I am assuming) API to check the status of the future, causing a deadlock to occur.The text was updated successfully, but these errors were encountered: