Title
Understanding the causes of consistency anomalies in Apache Cassandra
Abstract
A recent paper on benchmarking eventual consistency showed that when a constant workload is applied against Cassandra, the staleness of values returned by read operations exhibits interesting but unexplained variations when plotted against time. In this paper we reproduce this phenomenon and investigate in greater depth the low-level mechanisms that give rise to stale reads. We show that the staleness spikes exhibited by Cassandra are strongly correlated with garbage collection, particularly the \"stop-the-world\" phase which pauses all application threads in a Java virtual machine. We show experimentally that the staleness spikes can be virtually eliminated by delaying read operations artificially at servers immediately after a garbage collection pause. In our experiments this yields more than a 98% reduction in the number of consistency anomalies that exceed 5ms, and has negligible impact on throughput and latency.
Year
DOI
Venue
2015
10.14778/2752939.2752949
PVLDB
DocType
Volume
Issue
Journal
8
7
ISSN
Citations 
PageRank 
2150-8097
7
0.50
References 
Authors
6
5
Name
Order
Citations
PageRank
Hua Fan1146.04
Aditya Ramaraju2111.25
Marlon McKenzie3121.28
Wojciech Golab473.54
Bernard Wong552826.80