Homec4science

Add an alternate "modern" hunk datastore

Authored by epriestley <git@epriestley.com> on May 25 2014, 18:28.

Description

Add an alternate "modern" hunk datastore

Summary:
Ref T4045. Ref T5179. Hunk storage has two major issues:

  • It's utf8, but actual diffs are binary.
  • It's huge and can't be compressed or archived.

This introduces a second datastore which solves these problems: by recording hunk encoding, supporting compression, and supporting alternate storage. There's no actual compression or storage support yet, but there's space in the table for them.

Since nothing actually uses hunk IDs, it's fine to have these tables exist at the same time and use the same IDs. We can migrate data between the tables gradually without requiring downtime or disrupting installs.

Test Plan:

  • There are no writes to the new table yet.
  • The only effect this has is making us issue one extra query when looking for hunks.
  • Observed the query issue, but everything else continue working fine.
  • Created a new diff.
  • Ran unit tests.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T4045, T5179

Differential Revision: https://secure.phabricator.com/D9290

Details

Committed
epriestley <git@epriestley.com>Jun 4 2014, 03:01
Pushed
aubortJan 31 2017, 17:16
Parents
rPHbb306b58d553: Introduce DifferentialChangesetQuery and remove loadHunks()
Branches
Unknown
Tags
Unknown

Event Timeline

epriestley <git@epriestley.com> committed rPH0aa913805d14: Add an alternate "modern" hunk datastore (authored by epriestley <git@epriestley.com>).Jun 4 2014, 03:01