[ https://issues.apache.org/jira/browse/CASSANDRA-18004?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Blake Eggleston updated CASSANDRA-18004: ---------------------------------------- Test and Documentation Plan: circle Status: Patch Available (was: Open) [accord|https://github.com/bdeggleston/cassandra-accord/tree/async-chain] [cassandra|https://github.com/bdeggleston/cassandra/tree/async-chain] As agreed in another PR, this replaces the single consumer uses of future with AsyncChain. This saves some work, and requires callbacks are supplied _before_ starting an async computation, but still offers the safeguards provided by futures. The initial AsyncChain implementation was suggested and supplied by [~benedict], and is mostly intact here, with some additional bells and whistles. There were some places where async chain didn't make sense, specifically places where we didn't know all of the listeners up front and/or there were multiple listeners. Since we still don't need everything offered by Future in those cases, and In the interest of removing accord's dependency on C*, I added AsyncNotifier, which supports subscribing to notifications from an async process after it's been started, like a future, but without cancellation or blocking get, etc. C* integration of AsyncChain was pretty minimal, but for consistency I'l also updated the integration to use AsyncNotifier, which touched a lot more. The functional changes and member/method renaming are in 2 commits to make reviewing a bit easier. > CEP-15: (C*/Accord) - remove futures > ------------------------------------ > > Key: CASSANDRA-18004 > URL: https://issues.apache.org/jira/browse/CASSANDRA-18004 > Project: Cassandra > Issue Type: Improvement > Components: Accord > Reporter: Blake Eggleston > Assignee: Blake Eggleston > Priority: Normal > > Remove futures in favor of async chain -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org