Hi all, The CEP is available here: https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=353601959
We would like to propose CEP-46: Finish Transient Replication/Witnesses for adoption by the community. CEP-46 would rename transient replication to witnesses and leverage mutation tracking to implement witnesses as CEP-45 Mutation Tracking based Log Replicas as a replacement for incremental repair based witnesses. For those not familiar with transient replication it would have the keyspace replication settings declare some replicas as transient and when incremental repair runs the transient replicas would delete data instead of moving it into the repaired set. With log replicas nodes only materialize mutations in their local LSM for ranges where they are full replicas and not witnesses. For witness ranges a node will write mutations to their local mutation tracking log and participate in background and read time reconciliation. This saves the compaction overhead of IR based witnesses which have to materialize and perform compaction on all mutations even those being applied to witness ranges. This would address one of the biggest issues with witnesses which is the lack of monotonic reads. Implementation complexity wise this would actually delete code compared to what would be required to complete IR based witnesses because most of the heavy lifting is already done by mutation tracking. Log replicas also makes it much more practical to realize the cost savings of witnesses because log replicas have easier to characterize resource consumption requirements (write rate * recovery/reconfiguration time) and target a 10x improvement in write throughput. This makes knowing how much capacity can be omitted safer and easier. Thanks, Ariel