Urgent.News

What's breaking now, across thousands of outlets.

Tech

What we write down after every database restore drill

A restore drill that passes tells you that one backup restored on one day. That's worth knowing, but most of what drills can teach you only shows up when you compare them: restore times that creep up quarter after quarter, a table whose row count stopped matching after a migration, a role someone creates by hand every time and never mentions. If the only record is a green check in CI, none of…

The restore drill log records important information about each backup restoration attempt. It includes the date and person who ran the drill, which backup was restored, the target environment (local Docker, staging or cloud project), and the restore time. The log also checks if the restoration was successful, if table counts match, if row counts on key tables match, if the app can connect to the restored database, and if uploaded files are intact.

The results are categorized as passed, passed with issues or failed. If a drill fails, it logs what went wrong and suggests fixes for the next drill. The log also notes the target environment where the restore took place, as restore times can vary significantly depending on the target (e.g., a throwaway Docker Postgres vs. a real database).

One key insight is that dump size alone does not accurately predict restore time. A custom-format dump includes index definitions, requiring the restore to rebuild indexes and check foreign keys, accounting for a significant portion of the total restore time. The log emphasizes the importance of measuring the end-to-end restore time, not just the dump restore step, and comparing row counts against the original backup dump to ensure data integrity.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

I mapped a YouTube channel's entire catalog in two runs — for under a cent

Competitor research on YouTube usually dies in one of two places: you click through forty videos by hand and give up, or you start writing a scraper and give up slightly later, somewhere around the…

  • Enumerate channel catalog quickly using first tool with 30-video cap
  • Enrich selected videos with details tool for view counts, durations, likes
  • Two-step approach cost-effective for large channels and other platforms

RunsOn vs Blacksmith for GitHub Actions runners

RunsOn vs Blacksmith is a choice between two cost models rather than two rate cards: RunsOn is a flat annual license from 300 euros that installs into your own AWS account and leaves the compute on…

  • RunsOn pricing model costs $29/month for 10,000 Linux minutes
  • Blacksmith charges $0.004 per Linux minute with 3,000 free minutes/month
  • Latchkey offers Linux x64 pricing from $0.0025 to $0.0025 per minute

maven could not transfer artifact ci, not a missing jar

A maven could not transfer artifact ci failure means the resolver tried to move bytes and could not, which is a different failure from the repository telling Maven the artifact is not there.

  • "Could not transfer artifact" message differs from "Could not resolve dependencies"
  • Cached failure related to "not-found" issue, not retry property
  • Timeout of 30 minutes often triggers job kill before error appears

The Answer Checker Explains the Missing Question

Our practice page grades answers with one line: parse ( $( '#practice-answer' ) . value ) . eq ( answer ) If answer is undefined , that line throws.

  • Practice page grades answer submissions with a single line of code
  • Undefined answer throws error instead of marking incorrect
  • Fix requires updating grader to recognize undefined slopes

More from Sunday 15 November →