Previously, I shared a post on how my RPC calls were failing due to a race condition. This was coming from unix sockets(implemented to mirror a distributed system on a local environment). So what a...
Working with Unix Sockets
Debugging Race Conditions in RPC Calls
While I was implementing a primary/backup system for a project in my distributed systems course, I kept running into these weird errors. read unix @->/var/tmp/824-1000/pb-3123-xyz-1: read: conn...
Google File Systems
The Google File System: Large-Scale Distributed Storage As the scale in big data continues to grow, companies like Google faced challenges in storing and managing massive amounts of data across tho...
etcd: A Deep Dive into Key-Value Storage and RAFT Consensus
What is etcd? etcd is a distributed key-value store that plays a critical role in the control plane of many cloud-native applications. The name “etcd” combines “etc” with “distributed,” highlighti...
MapReduce: Simplified Data Processing on Large Clusters
MapReduce: The Paper That Revolutionized Big Data Processing MapReduce is one of the most important milestones when it comes to distributed computing, “MapReduce: Simplified Data Processing on Lar...
Understanding the Kubernetes Deployment Controller: Handling Resources in NewDeploymentController
Understanding the New Deployment Controller in Kubernetes In Kubernetes, the NewDeploymentController plays a crucial role in managing the lifecycle of deployments. It acts as an event handler that...
Kubernetes Source Code: Kubernetes Scheduler code walkthrough
Understanding Kubernetes Scheduling: Code Walkthrough Run() In the Run() function, the following code is executed: go wait.UntilWithContext(ctx, sched.ScheduleOne, 0) The function blocks unti...
Early vs. Late Materialization in Databases: How Timing Affects Query Performance
Efficient Data Retrieval and Materialization in Databases Efficient data retrieval is at the heart of database performance. In the context of query processing, materialization—the process of assem...
Debugging Kubernetes Services with Telepresence
Setting Up and Using Telepresence for Local Development When working in cloud systems, it’s often difficult to debug, or even get to the idea of debugging because the requests come into service end...
Query Optimization in Databases: Translating, Planning, and Cost Estimation in Databases
Query optimization is a fundamental part of database management that translates high-level SQL queries into efficient execution plans. The goal? Minimize costs — whether that’s CPU time, memory usa...