In this blog post, we'll explore the implementation of an upgradable read-write lock in Go. We will talk about why we needed it by giving concrete examples from the real-world use case and also discuss potential pitfalls during the blog post. Why do we need an upgradable read-write lock? In Go, even though the guidelines say to avoid locks, when building a Redis® server that should be concurrently