Threading bugs found in cpp driver

19 views
Skip to first unread message

Carl Colena (BLOOMBERG/ 731 LEX)

unread,
Sep 19, 2023, 9:44:49 AM9/19/23
to cpp-dri...@lists.datastax.com
Hello,

I discovered two thread race condition bugs that currently exist in the latest cpp driver for Cassandra.

I've submitted my bug reports to the cpp-driver JIRA:

CPP-987
The summary for this bug is that the side-effects of a future callback are not guaranteed to be reflected after a call to cass_future_wait. For example, any routine in a registered callback method may still be executing when cass_future_wait yields in the main thread.

CPP-988
This bug is a race condition that causes duplicate UUIDv1 keys (Time-based UUID's) to be generated with the same CassUuidGen instance on the same process. This makes the cass_uuid_gen_time call not thread safe.

If there's any further information needed regarding either of these issues, let me know. Hope that they can be validated and resolved by the next release.

Thank you!
Carl

Bret McGuire

unread,
Sep 22, 2023, 2:07:33 AM9/22/23
to DataStax C++ Driver for Apache Cassandra User Mailing List, Carl Colena (BLOOMBERG/ 731 LEX)
   Thanks for reporting both these issues Carl and for the detailed analysis that went into both reports!

   It is my hope to address both issues before the next release of the C++ driver.  I've looked at CPP-988 in some depth already and believe I have a fix for that.  I'm just digging in to CPP-987 and will update the ticket as that work progresses.

   Thanks again for taking the time to file these issues so that we can get them fixed!

   - Bret -
Reply all
Reply to author
Forward
0 new messages