---
title: "Beyond Executor Slots: Building a Memory-Budget Allocator for Jenkins CI"
url: https://daily.dev/posts/beyond-executor-slots-building-a-memory-budget-allocator-for-jenkins-ci-zxyp8rzkk
source_url: https://blogs.halodoc.io/beyond-executor-slots-building-a-memory-budget-allocator-for-jenkins-ci
type: article
source: "Halodoc"
published: 2026-07-24T13:27:41.397Z
updated: 2026-07-25T12:18:20.143Z
tags: ["cicd", "distributed-systems", "jenkins", "aws-dynamodb"]
reading_time: 12
upvotes: 2
comments: 0
language: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Beyond Executor Slots: Building a Memory-Budget Allocator for Jenkins CI

**[Halodoc](https://daily.dev/sources/halodoc)** · 12 min read · 2 upvotes · 0 comments

## Summary

Halodoc's engineering team built a memory-budget allocation layer on top of Jenkins to solve OOM kills on shared Mac CI workers. Jenkins only tracks executor slots, not available memory, so multiple memory-heavy iOS/Android builds would land on the same machine and crash mid-run. The solution uses a DynamoDB-backed ledger to track each worker's allocatable memory budget and active reservations. Before a build starts, the allocator looks up the workload's memory tier, finds an eligible worker with sufficient budget, and performs an atomic conditional write to reserve capacity. Concurrent reservation races are handled via DynamoDB's ConditionalCheckFailedException. Four failure recovery paths ensure reservations are always released. After rollout, abort rate dropped 36% and pass rate improved from 52.5% to 71.4% despite a 47.9% increase in build volume, though confounding factors (new hardware, build mix changes) are acknowledged.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://blogs.halodoc.io/beyond-executor-slots-building-a-memory-budget-allocator-for-jenkins-ci>

## Similar posts on daily.dev

- [Enhancing Kubernetes Stability on AWS EKS by Leveraging the "Node Swap" feature in EKS](https://daily.dev/posts/enhancing-kubernetes-stability-on-aws-eks-by-leveraging-the-node-swap-feature-in-eks-kmz5mu5hs) · Halodoc · 2 upvotes · 0 comments
- [Pinterest Reduces Spark OOM Failures by 96% Through Auto Memory Retries](https://daily.dev/posts/pinterest-reduces-spark-oom-failures-by-96-through-auto-memory-retries-xfchaut53) · InfoQ · 0 upvotes · 0 comments
- [Elastic Build Machines now protect against out of memory builds](https://daily.dev/posts/elastic-build-machines-now-protect-against-out-of-memory-builds-7swq5onuq) · Vercel · 0 upvotes · 0 comments

---

Tags: [#cicd](https://daily.dev/tags/cicd), [#distributed-systems](https://daily.dev/tags/distributed-systems), [#jenkins](https://daily.dev/tags/jenkins), [#aws-dynamodb](https://daily.dev/tags/aws-dynamodb)

[View this post on daily.dev](https://daily.dev/posts/beyond-executor-slots-building-a-memory-budget-allocator-for-jenkins-ci-zxyp8rzkk)
