<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/my-app-was-broken-and-the-data-was-fine-all-along-j75nujhli" -->

---
title: My App Was Broken — And the Data Was Fine All Along
description: A Technical Product Manager shares a debugging story where a feature appeared broken due to missing data, but the real cause was DuckDB failing to download its...
canonical: https://daily.dev/posts/my-app-was-broken-and-the-data-was-fine-all-along-j75nujhli
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: My App Was Broken — And the Data Was Fine All Along | daily.dev
og:description: A Technical Product Manager shares a debugging story where a feature appeared broken due to missing data, but the real cause was DuckDB failing to download its...
og:url: https://daily.dev/posts/my-app-was-broken-and-the-data-was-fine-all-along-j75nujhli
og:image: https://api.daily.dev/og/posts/j75nujhlI.png
og:image:alt: My App Was Broken — And the Data Was Fine All Along
og:image:width: 1200
og:image:height: 630
og:locale: 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.

# My App Was Broken — And the Data Was Fine All Along

**[Medium](https://daily.dev/sources/medium_js)** · 6 min read · 0 upvotes · 0 comments

## Summary

A Technical Product Manager shares a debugging story where a feature appeared broken due to missing data, but the real cause was DuckDB failing to download its required extensions (httpfs and azure) at runtime because a corporate firewall blocked outbound internet access. The data in Azure storage was intact and accessible; the issue was in the middleware layer. Three fixes were evaluated: pre-installing extensions during Docker image build, allowlisting the extension server, or bundling extensions manually. The team chose option one — baking extensions into the Docker image at build time. Key takeaways include mapping all layers between data and user, treating runtime internet dependencies as invisible risks, and the value of thorough root cause analysis.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://medium.com/@mandovi95/my-app-was-broken-and-the-data-was-fine-all-along-e036dd1b63e2>

## Similar posts on daily.dev

- [the web server deployment model breaks at hobby scale](https://daily.dev/posts/the-web-server-deployment-model-breaks-at-hobby-scale-f2vq2xvo3) · Lobsters · 4 upvotes · 3 comments
- [We Had a Perfectly Good Data Store. That Was the Problem.](https://daily.dev/posts/we-had-a-perfectly-good-data-store-that-was-the-problem--b9pig446i) · SD Times · 0 upvotes · 0 comments
- [How to Diagnose Production Bugs When You Can't Reproduce Them Locally](https://daily.dev/posts/how-to-diagnose-production-bugs-when-you-can-t-reproduce-them-locally-kxdnllwui) · freeCodeCamp · 2 upvotes · 0 comments

---

Tags: [#azure](https://daily.dev/tags/azure), [#docker](https://daily.dev/tags/docker), [#fastapi](https://daily.dev/tags/fastapi), [#duckdb](https://daily.dev/tags/duckdb)

[View this post on daily.dev](https://daily.dev/posts/my-app-was-broken-and-the-data-was-fine-all-along-j75nujhli)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"My App Was Broken — And the Data Was Fine All Along","url":"https://daily.dev/posts/my-app-was-broken-and-the-data-was-fine-all-along-j75nujhli","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/my-app-was-broken-and-the-data-was-fine-all-along-j75nujhli"},"datePublished":"2026-07-12T07:31:15.194Z","dateModified":"2026-07-12T07:33:36.288Z","description":"A Technical Product Manager shares a debugging story where a feature appeared broken due to missing data, but the real cause was DuckDB failing to download its...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/0691133220649ffe67343fc0ffcbaf96?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/0691133220649ffe67343fc0ffcbaf96?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Medium","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Medium","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium","url":"https://daily.dev/sources/medium_js"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/my-app-was-broken-and-the-data-was-fine-all-along-j75nujhli","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"azure,docker,fastapi,duckdb","timeRequired":"PT6M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Medium","item":"https://daily.dev/sources/medium_js"},{"@type":"ListItem","position":3,"name":"My App Was Broken — And the Data Was Fine All Along"}]}
```

