Live Patching for Distributed In-Memory Key-Value Stores
Michael Fruth, Stefanie Scherzinger
Abstract
Providers of high-availability data stores need to roll out software updates without causing noticeable downtimes. For distributed data stores like Redis Cluster, the state-of-the-art is a rolling update, where the nodes are restarted in sequence. This requires preserving, restoring, and resynchronizing the database state, which can significantly prolong updates for larger memory states, and thus delay critical security fixes. In this article, we propose applying software updates directly in memory without restarting any nodes. We present the first fully operational live patching solution for Redis Cluster on Linux. We support both push- and pull-based distribution of patches, trading dissemination speed against cluster elasticity, the ability to allow nodes to dynamically join or leave the cluster. Our integration is very lightweight, as it piggybacks on the cluster-internal gossip protocol. Our experiments benchmark live patching against state-of-the-art rolling updates. In one scenario, live patching updates the entire cluster orders of magnitude faster, without unfavorable trade-offs regarding throughput, tail latencies, or network consumption. To showcase generalizability, we provide general guidelines on integrating live patching for distributed database systems and successfully apply them to a primary-replica PostgreSQL setup. Given our overall promising results, we discuss the opportunities of live patching in database DevOps.
Ask about this paper
Ask your agent about it.
Lune has read the top-tier papers around this one, so every answer names the papers it rests on.
Your agent calls
Lunesearch_papers
Free to start. No credit card required.
Terminal
Install the CLIlune papers get 8a8675c9-8af3-452f-b760-9dc0c75d89c7Cited by top-tier papers1
Ask how each one uses itRelated papers
- From Global to Local Quiescence: Wait-Free Code Patching of Multi-Threaded ProcessesFlorian Rommel, Christian Dietrich, Birte Friesel, Marcel Köppen et al.OSDI 2020
- In-Memory Key-Value Store Live Migration with NetMigrateZeying Zhu, Yibo Zhao, Zaoxing LiuFAST 2024 · 14 citations
- Efficient Scheduler Live Update for Linux Kernel with ModularizationTeng Ma, Shanpei Chen, Yihao Wu, Erwei Deng et al.ASPLOS 2023 · 9 citations
- Async-fork: Mitigating Query Latency Spikes Incurred by the Fork-based Snapshot Mechanism from the OS LevelPu Pang, Gang Deng, Kaihao Bai, Quan Chen et al.VLDB 2023 · 10 citations
- Virtual machine preserving host updates for zero day patching in public cloudMark Russinovich, Naga K. Govindaraju, Melur Raghuraman, David Hepkin et al.EuroSys 2021 · 8 citations
