Hi all

As one would expect, I've been involved in several discussions lately on
what is going to make it into 4.1, versus what patches unfortunately won't.

In particular debating this with Patrick McFaddin we realized that a big
theme in 4.1 appears to be a huge number of pluggability improvements. So
the intent of this email is to take an inventory of all new plugin APIs I'm
aware of, and invite the community to add to the list where I'm not aware
of some work.


CEP-9
<https://cwiki.apache.org/confluence/display/CASSANDRA/CEP-9%3A+Make+SSLContext+creation+pluggable>
Pluggable SSLContext. Allows to store SSL certs and secrets elsewhere than
in files. Supplies an example implementation for storing as Kubernetes
Secret.


*CEP-10*
<https://cwiki.apache.org/confluence/display/CASSANDRA/CEP-10%3A+Cluster+and+Code+Simulations>
SimpleCondition, Semaphore, CountDownLatch, BlockingQueue, etc
Executors, futures, starting threads, etc - including important
improvements to consistency of approach in the codebase
The use of currentTimeMillis and nanoTime
The replacement of java.io.File with a wrapper on java.nio.files.Path
providing an ergonomic API, and some improvements to consistency of file
handling
Support for alternative streaming implementations
Improvements to the dtest API to support necessary functionality

Commentary: Of the above at least the Path and alternative streaming
implementations seem like significant APIs that can be used for much more
than just fault injection. In fact, I believe java.nio.files.Path is what
we use in Astra Serverless to send files to S3 instead of local filesystem.


*CEP-11*
<https://cwiki.apache.org/confluence/display/CASSANDRA/CEP-11%3A+Pluggable+memtable+implementations>
Pluggable memtable

Commentary: While we won't have any new memtable implementations in 4.1, it
is a goal to merge the memtable API this week. Notably, since this is
designed to support also persistent memtables (ie memtable on persistent
memory), this new API could essentially be seen as a full blown storage
engine API.


*CASSANDRA-17044* <https://issues.apache.org/jira/browse/CASSANDRA-17044>
Pluggable schema management

I hear rumors someone may be working on a new schema management
implementation?


(Just for completeness, CASSANDRA-17058
<https://issues.apache.org/jira/browse/CASSANDRA-17058> pluggable cluster
membership is not merged.)

CEP-16
<https://cwiki.apache.org/confluence/display/CASSANDRA/CEP-16%3A+Auth+Plugin+Support+for+CQLSH>
While client side, worth mentioning: Pluggable auth for CQLSH



If there are more that I don't know about, please reply and add to the list.

henrik

-- 

Henrik Ingo

+358 40 569 7354 <358405697354>

[image: Visit us online.] <https://www.datastax.com/>  [image: Visit us on
Twitter.] <https://twitter.com/DataStaxEng>  [image: Visit us on YouTube.]
<https://urldefense.proofpoint.com/v2/url?u=https-3A__www.youtube.com_channel_UCqA6zOSMpQ55vvguq4Y0jAg&d=DwMFaQ&c=adz96Xi0w1RHqtPMowiL2g&r=IFj3MdIKYLLXIUhYdUGB0cTzTlxyCb7_VUmICBaYilU&m=bmIfaie9O3fWJAu6lESvWj3HajV4VFwgwgVuKmxKZmE&s=16sY48_kvIb7sRQORknZrr3V8iLTfemFKbMVNZhdwgw&e=>
  [image: Visit my LinkedIn profile.] <https://www.linkedin.com/in/heingo/>

Reply via email to