Home
Posts
Cancel

Working with Unix Sockets

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...

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...

Preview Image

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...

Preview Image

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...

Preview Image

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...

Preview Image

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...