cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jay Patel (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CASSANDRA-8854) Support for Async Atomic Batch
Date Mon, 23 Feb 2015 22:32:11 GMT

     [ https://issues.apache.org/jira/browse/CASSANDRA-8854?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Jay Patel updated CASSANDRA-8854:
---------------------------------
    Description: 
Use case sometimes demands atomicity (using C* logged batch) across multiple DML statements;
however, in order to minimize the end user latency, do not want to wait for all the statements
to be executed. 
For instance, would like to have something like:

BEGIN BATCH
  Sync - INSERT INTO users (userID, name, email) VALUES ('user1', ‘first user’, ’user1@gmail.com')
  Async - INSERT INTO users_by_name (name, userID) VALUES (‘first user’, 'user1’); 
  Async -  INSERT INTO users_by_email (name, userID) VALUES (’user1@gmail.com’, 'user1’);
  ..... more Async statements!
APPLY BATCH;

Once the batch is serialized to the batchlog table and the sync statements are executed, coordinator
should return response without waiting for execution of async batch statements.

Some of the use cases that we’re working on will get benefited significantly in terms of
latency reduction. I can take a first cut at it if we don’t see any concerns supporting
it. 

Also, need some discussions around specifying sync/async tag for each statement in the batch.

Thoughts welcome. Thanks!

  was:
Sometime use case demands atomicity (using C* logged batch) across multiple DML statements;
however, in order to minimize the end user latency, do not want to wait for all the statements
to be executed. 
For instance, would like to have something like:

BEGIN BATCH
  Sync - INSERT INTO users (userID, name, email) VALUES ('user1', ‘first user’, ’user1@gmail.com')
  Async - INSERT INTO users_by_name (name, userID) VALUES (‘first user’, 'user1’); 
  Async -  INSERT INTO users_by_email (name, userID) VALUES (’user1@gmail.com’, 'user1’);
  ..... more Async statements!
APPLY BATCH;

Once the batch is serialized to the batchlog table and the sync statements are executed, coordinator
should return response without waiting for execution of async batch statements.

Some of the use cases that we’re working on will get benefited significantly in terms of
latency reduction. I can take a first cut at it if we don’t see any concerns supporting
it. 

Also, need some discussions around specifying sync/async tag for each statement in the batch.

Thoughts welcome. Thanks!


> Support for Async Atomic Batch
> ------------------------------
>
>                 Key: CASSANDRA-8854
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8854
>             Project: Cassandra
>          Issue Type: New Feature
>            Reporter: Jay Patel
>
> Use case sometimes demands atomicity (using C* logged batch) across multiple DML statements;
however, in order to minimize the end user latency, do not want to wait for all the statements
to be executed. 
> For instance, would like to have something like:
> BEGIN BATCH
>   Sync - INSERT INTO users (userID, name, email) VALUES ('user1', ‘first user’, ’user1@gmail.com')
>   Async - INSERT INTO users_by_name (name, userID) VALUES (‘first user’, 'user1’);

>   Async -  INSERT INTO users_by_email (name, userID) VALUES (’user1@gmail.com’, 'user1’);
>   ..... more Async statements!
> APPLY BATCH;
> Once the batch is serialized to the batchlog table and the sync statements are executed,
coordinator should return response without waiting for execution of async batch statements.
> Some of the use cases that we’re working on will get benefited significantly in terms
of latency reduction. I can take a first cut at it if we don’t see any concerns supporting
it. 
> Also, need some discussions around specifying sync/async tag for each statement in the
batch.
> Thoughts welcome. Thanks!



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message