Today I learned… I had no clue we had markdown files in src/java… $ find src/ -name '*.md' src//java/org/apache/cassandra/io/sstable/SSTable_API.md src//java/org/apache/cassandra/io/sstable/format/bti/BtiFormat.md src//java/org/apache/cassandra/utils/bytecomparable/ByteComparable.md src//java/org/apache/cassandra/tcm/TCM_implementation.md src//java/org/apache/cassandra/tcm/TransactionalClusterMetadata.md src//java/org/apache/cassandra/db/memtable/Memtable_API.md src//java/org/apache/cassandra/db/compaction/UnifiedCompactionStrategy.md src//java/org/apache/cassandra/db/tries/InMemoryTrie.md src//java/org/apache/cassandra/db/tries/Trie.md src//java/org/apache/cassandra/index/sai/README.md src//java/org/apache/cassandra/service/paxos/Paxos.md
We don’t have one at the moment but it would be good to get that in. At a high level there are a few key classes 1) org.apache.cassandra.cql3.statements.TransactionStatement - this class handles BEGIN TRANSACTION in CQL 2) org.apache.cassandra.service.consensus.TransactionalMode - this is a table property and dictates what is allowed for the table. If off accord transactions are not allowed, if “full” normal read/write get migrated to Accord (and you can still use BEGIN TRANSACTION) 3) org.apache.cassandra.service.accord.AccordService - the global static instance that lets Cassandra call Accord stuff > On Sep 27, 2024, at 7:20 AM, Paulo Motta <pa...@apache.org> wrote: > > Thanks all for the work on this epic! > > Is there an implementation summary guide similar to guide_8099.md [1] that > can help reviewers not involved with the effort navigate through the code ? > It would be great to have it if this is not already available or being > planned. There's a similar one though much smaller in scope for memtable API > on [2]. > > [1] - > https://github.com/apache/cassandra/blob/cassandra-3.0.0-rc2/guide_8099.md > [2] - > https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/db/memtable/Memtable_API.md > > On Fri, Sep 27, 2024 at 8:09 AM Benedict Elliott Smith <bened...@apache.org > <mailto:bened...@apache.org>> wrote: >> If you exclude test changes, there’s < 50k added and ~2k removed. This works >> out to ~7% of the scale of 8099 for lines modified, if this is the benchmark >> for disruption. >> >> Altogether, this is a very small patch from the perspective of the existing >> codebase. Probably doesn’t even come close to the top 10. >> >> Conversely, for new standalone features, this is likely the most complex >> thing we have ever merged to the project. But, it is off by default, and the >> risk to deployments therefore is very minimal. >> >> Regarding how parties can engage, I think if we’re honest history shows that >> engagement will be minimal. There have after all been several touch points, >> and none have materialised into really significant engagement. This is just >> the reality of everyone having their own pressures - at the end of the day, >> changes happen and the community adapts. But, we are here to answer any >> questions - as we have been throughout the development of the work in the >> open. >> >> >> >>> On 20 Sep 2024, at 22:08, Josh McKenzie <jmcken...@apache.org >>> <mailto:jmcken...@apache.org>> wrote: >>> >>>> This presents an opportune moment for those interested to review the code. >>>> ... >>>> +88,341 −7,341 >>>> 1003 Files changed >>> >>> O.o >>> This is... very large. If we use CASSANDRA-8099 as our "banana for scale": >>>> 645 files changed, 49381 insertions(+), 42227 deletions(-) >>> >>> To be clear - I don't think we collectively should be worried about >>> disruption from this patch since: >>> Each commit (or the vast majority?) has already been reviewed by >= 1 other >>> committer >>> 7.3k deletions is a lot less than 42k >>> We now have fuzzing, property based testing, and the simulator >>> Most of this code is additive >>> How would you recommend interested parties engage with reviewing this >>> behemoth? Or perhaps subsections of it or key areas to familiarize >>> themselves with the structure? >>> >>> On Fri, Sep 20, 2024, at 12:17 PM, David Capwell wrote: >>>> Recently, we rebased against the trunk branch, ensuring that the accord >>>> branch is now in sync with the latest trunk version. This presents an >>>> opportune moment for those interested to review the code. >>>> >>>> We have a pending pull request >>>> (https://github.com/apache/cassandra/pull/3552) that we do not intend to >>>> merge. >>>> >>>> Our current focus is on addressing several bug fixes and ensuring the >>>> safety of topology changes (as evidenced by the number of issues filed >>>> against the trunk). Once we wrap up bug fixes and safety features, we will >>>> likely discuss the merge to trunk, so now is a great time to start >>>> engaging. >>>> >>>> Thank you everyone for your patience! >>