You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Caleb Rackliffe (Jira)" <ji...@apache.org> on 2022/12/09 20:14:00 UTC

[jira] [Assigned] (CASSANDRA-18107) CEP-15: Multi-Partition Transaction CQL Support (Alpha -> v1)

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

Caleb Rackliffe reassigned CASSANDRA-18107:
-------------------------------------------

    Assignee: Caleb Rackliffe

> CEP-15: Multi-Partition Transaction CQL Support (Alpha -> v1)
> -------------------------------------------------------------
>
>                 Key: CASSANDRA-18107
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-18107
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Accord, CQL/Semantics, CQL/Syntax
>            Reporter: Caleb Rackliffe
>            Assignee: Caleb Rackliffe
>            Priority: Normal
>             Fix For: NA
>
>
> With CASSANDRA-17719 complete, basic/alpha CQL support for Accord is now available in the [cep-15-accord|https://github.com/apache/cassandra/commits/cep-15-accord] branch. There are, however, a number of features and enhancements that we would still like to add before we make it available to users. Here is a summary of those items, broadly categorized:
> *Error Messages and UX*
> - Fix the element/field names in result metadata to match the user query
> - Better error messages
> -- Append/subtracting to/from frozen list
> -- attempts to use reference in WHERE clause
> -- LET using a reserved word
> *Domain Object Cleanup*
> - Given {{Selector}} is serializable, attempt to reuse it in {{TxnReference}} rather than hard coding data conversion cases
> - Separate current current {{LET}} statement from {{SelectStatement}}, likely as a new {{LetStatement}} that names a {{SelectStatement}}
> - Explore unifying {{Operation}} and {{ReferenceOperation}}
> - Include non-Row items of {{FilteredPartition}} in {{TxnData#estimatedSizeOnHeap()}}
> - Explore possibility of making {{Bound}} serializable and using it directly in {{TxnCondition}}
> - Change internal representation of {{TxnDataName}} to avoid {{String}} -> {{ByteBuffer}} conversions
> - Have {{TxnCondition}}/{{TxnUpdate}} support {{slice()}} to full take advantage of partial state replication
> *Testing*
> - Figure out the original intent of placeholder tests in {{AccordIntegrationTest}} (ex. {{acceptInvalidationTest()}})
> - Remove hack in {{AccordConfigurationService}} (when we have Transactional Metadata)
> - Verify concretely that we disable Guardrails.
> - Audit the way we propagate timestamps through execution.
> *Features* 
> - Full JSON support
> - Final decision of whether we should support returning the result of an {{IF}}/condition
> - Constant terms on the RHS of LET
> - Support for having a reference on both LHS and RHS of {{IF}} predicates
> - Support for {{CONTAINS}}, {{CONTAINS KEY}}, and {{IN}} (important for CAS parity)
> - Nested UDT support
> - Mixed conditional and unconditional updates (should this be post-v1?)
> - Arithmetic operations on references in {{INSERT}}/{{UPDATE}} (ex. INSERT INTO ks.tbl1 (k, c, v) VALUES (0, 0, a.v + 1)
> *Tooling*
> - Eliminate {{nodetool createepochunsafe}} once transactional metadata is available.
> *Metrics*
> - Latency metrics for execution and failure/timeout counting (“Transaction” in client metrics?)
> *Documentation*
> - CQL language documentation and bump the CQL language specification version
> - JavaDoc for all new statement classes
> - Integrate {{demo.txt}} into broader documentation somewhere or remove
> *Questions*
> - How should txn statement parsing/preparation handle TTLs specified in updates?
> - At what level do we want to integrate tracing?



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org