1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-25 00:02:41 +01:00
phorge-phorge/src/applications/diffusion/query/rawdiff
epriestley 8ddf883d2e Cut Herald rules off at 1GB of diff text
Summary:
Ref T4276. When a change is larger than 2GB, PHP can not read the entire change into a string, so Herald can not process it.

Additionally, we already have a time limit for practical reasons, but it's huge (probably incorrectly). To deal with these things:

  - Add an optional byte limit to `diffusion.rawdiffquery`.
  - Make the query with a 1GB limit.
  - Reduce the diff timeout from 15 hours to 15 minutes.
  - Add a "Changeset is enormous" field. This field is true for changes which are too large to process.

This generally makes behaviors more sane:

  - We'll always make progress in Herald in a reasonable amount of time.
  - Installs can write global rules to handle (or reject) these types of changes.

Test Plan: Set limit to 25 bytes instead of 1GB and ran test console on various changes.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T4276

Differential Revision: https://secure.phabricator.com/D7885
2014-01-03 12:27:19 -08:00
..
DiffusionGitRawDiffQuery.php Cut Herald rules off at 1GB of diff text 2014-01-03 12:27:19 -08:00
DiffusionMercurialRawDiffQuery.php Cut Herald rules off at 1GB of diff text 2014-01-03 12:27:19 -08:00
DiffusionRawDiffQuery.php Cut Herald rules off at 1GB of diff text 2014-01-03 12:27:19 -08:00
DiffusionSvnRawDiffQuery.php Cut Herald rules off at 1GB of diff text 2014-01-03 12:27:19 -08:00