Constance Eustace created CASSANDRA-9886:
--------------------------------------------
Summary: TIMESTAMP - allow USING TIMESTAMP at end of mutation CQL
Key: CASSANDRA-9886
URL: https://issues.apache.org/jira/browse/CASSANDRA-9886
Project: Cassandra
Issue Type: Bug
Components: Core
Reporter: Constance Eustace
Fix For: 2.1.x
I was doing performance testing to get off of using batches for our persistence
engine, and instead use "async spray" with timestamps.
First of all, it seems fairly insane that the USING TIMESTAMP clause is in a
different location for INSERT (before WHERE) and the UPDATE (before SET) and
the DELETE (before WHERE) statements... thus is in the middle of the statement
for no real apparently good reason, although maybe there is some PostGresql
compatibility.
This means that if some code produces a large list of statements without the
USING TIMESTAMP already in it, because the actual method of execution of a list
of statements, which may use batches (if we were grouping by partition key) or
not (single statement) may be determined later...
Then for single statement updates, the statement needs to properly place the
USING TIMESTAMP clause. It would be MUCH EASIER to all a simple append of
"USING TIMESTAMP xxx" at the end of the CQL statement.
BATCH is easier, you just wrap the statements. Pretty basic.
I have done performance testing with single-statement BATCH USING TIMESTAMP and
their performance is awful, worse that "NEVER EVER DO THIS" sync batches with
cross-partition updates.
Can we either allow a USING TIMESTAMP to be at the end of all the mutation
statements in the same place, or have a check in the BATCH statement processing
to check if its a single statement and reduce it to non-batch execution?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)