[
https://issues.apache.org/jira/browse/CASSANDRA-7056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14046919#comment-14046919
]
Benedict commented on CASSANDRA-7056:
-------------------------------------
Another separate point to consider, as a follow up: RAMP transactions may also
permit us to provide consistent reads with less than QUORUM nodes involved. If
we are performing a consistent read with a known transaction id, we only need
to ensure the node has seen the totality of that transaction (i.e. any bulk
insert has completed its first round, but not necessarily its second (commit)
round) to be certain we have all of the data we need to answer the query
correctly. So we can potentially answer QUORUM queries at the coordinator only.
Note this only works if the coordinator has seen _exactly_ this transaction id,
though some similar optimisations are likely possible to expand that.
I can envisage answering multiple queries with the following scheme:
1) start transaction, by asking for the latest transaction_id from a given
coordinator for the data we are interested in;
2) query all coordinators directly for the regions they own, providing them
with the transaction_id
All of those that were updated with the given transaction_id have the potential
to be answered with only the coordinator's involvement
Further, to outline a sketch client-side API, I would suggest something like:
Txn txn = client.begin()
Future<ResultSet> rsf1 = txn.execute(stmt1);
Future<ResultSet> rsf2 = txn.execute(stmt2);
...
txn.execute();
ResultSet rs1 = rsf1.get();
...
> Add RAMP transactions
> ---------------------
>
> Key: CASSANDRA-7056
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7056
> Project: Cassandra
> Issue Type: Wish
> Components: Core
> Reporter: Tupshin Harper
> Priority: Minor
>
> We should take a look at
> [RAMP|http://www.bailis.org/blog/scalable-atomic-visibility-with-ramp-transactions/]
> transactions, and figure out if they can be used to provide more efficient
> LWT (or LWT-like) operations.
--
This message was sent by Atlassian JIRA
(v6.2#6252)