Details
Details
A user on one of my repositories is attempting to land a diff (850kb in size) that affects 125 files. Phabricator warns on the differential about the size of this diff:
Very Large Diff This diff is very large and affects 125 files.
When attempting to land, the task fails. If I run it manually from the command line, I see this trace:
# ./bin/repository reparse --importing --trace <commit> ... >>> [57] <query> SELECT * FROM `file` WHERE contentHash = '14a713695e0f5bfbe2dc3dab85f0df82fcfe579e' LIMIT 1 <<< [57] <query> 986 us <<< [51] <conduit> 307,163 us [2017-01-13 15:34:27] EXCEPTION: (Exception) No configured storage engine can store this file. See "Configuring File Storage" in the documentation for information on configuring storage engines. at [<phabricator>/src/applications/files/storage/PhabricatorFile.php:318] arcanist(head=master, ref.master=ade25facfdf2), phabricator(head=master, ref.master=1e1a0182cac1), phutil(head=master, ref.master=c5848b71c10f) #0 PhabricatorFile::buildFromFileData(string, array) called at [<phabricator>/src/applications/files/storage/PhabricatorFile.php:422] #1 PhabricatorFile::newFromFileData(string, array) called at [<phabricator>/src/applications/files/uploadsource/PhabricatorFileUploadSource.php:132] #2 PhabricatorFileUploadSource::writeSingleFile() called at [<phabricator>/src/applications/files/uploadsource/PhabricatorFileUploadSource.php:45] #3 PhabricatorFileUploadSource::uploadFile() called at [<phabricator>/src/applications/diffusion/query/DiffusionFileFutureQuery.php:109] #4 DiffusionFileFutureQuery::executeQuery() called at [<phabricator>/src/applications/diffusion/query/DiffusionQuery.php:96] #5 DiffusionQuery::execute() called at [<phabricator>/src/applications/diffusion/query/DiffusionFileFutureQuery.php:60] #6 DiffusionFileFutureQuery::respondToConduitRequest(ConduitAPIRequest) called at [<phabricator>/src/applications/diffusion/conduit/DiffusionRawDiffQueryConduitAPIMethod.php:44] #7 DiffusionRawDiffQueryConduitAPIMethod::getResult(ConduitAPIRequest) called at [<phabricator>/src/applications/diffusion/conduit/DiffusionQueryConduitAPIMethod.php:158] #8 DiffusionQueryConduitAPIMethod::execute(ConduitAPIRequest) called at [<phabricator>/src/applications/conduit/method/ConduitAPIMethod.php:123] #9 ConduitAPIMethod::executeMethod(ConduitAPIRequest) called at [<phabricator>/src/applications/conduit/call/ConduitCall.php:131] #10 ConduitCall::executeMethod() called at [<phabricator>/src/applications/conduit/call/ConduitCall.php:81] #11 ConduitCall::execute() called at [<phabricator>/src/applications/diffusion/query/DiffusionQuery.php:82] #12 DiffusionQuery::callConduitWithDiffusionRequest(PhabricatorUser, DiffusionGitRequest, string, array) called at [<phabricator>/src/applications/differential/engine/DifferentialDiffExtractionEngine.php:58] #13 DifferentialDiffExtractionEngine::newDiffFromCommit(PhabricatorRepositoryCommit) called at [<phabricator>/src/applications/differential/engine/DifferentialDiffExtractionEngine.php:241] #14 DifferentialDiffExtractionEngine::updateRevisionWithCommit(DifferentialRevision, PhabricatorRepositoryCommit, array, PhabricatorDaemonContentSource) called at [<phabricator>/src/applications/repository/worker/commitmessageparser/PhabricatorRepositoryCommitMessageParserWorker.php:251] #15 PhabricatorRepositoryCommitMessageParserWorker::updateCommitData(DiffusionCommitRef) called at [<phabricator>/src/applications/repository/worker/commitmessageparser/PhabricatorRepositoryCommitMessageParserWorker.php:42] #16 PhabricatorRepositoryCommitMessageParserWorker::parseCommit(PhabricatorRepository, PhabricatorRepositoryCommit) called at [<phabricator>/src/applications/repository/worker/PhabricatorRepositoryCommitParserWorker.php:51] #17 PhabricatorRepositoryCommitParserWorker::doWork() called at [<phabricator>/src/infrastructure/daemon/workers/PhabricatorWorker.php:123] #18 PhabricatorWorker::executeTask() called at [<phabricator>/src/applications/repository/management/PhabricatorRepositoryManagementReparseWorkflow.php:325] #19 PhabricatorRepositoryManagementReparseWorkflow::execute(PhutilArgumentParser) called at [<phutil>/src/parser/argument/PhutilArgumentParser.php:438] #20 PhutilArgumentParser::parseWorkflowsFull(array) called at [<phutil>/src/parser/argument/PhutilArgumentParser.php:330] #21 PhutilArgumentParser::parseWorkflows(array) called at [<phabricator>/scripts/repository/manage_repositories.php:22]
We've tried several things to resolve this, including deleting the task and diff and recreating it with no luck. How can we land this differential? Thanks!
Answers
Answers
Navigate to <yourinstance>.com/applications/view/PhabricatorFilesApplication/ - it should show a table listing Storage Engines.
- The engine chunks should be writable
- At least one other engine should also be writable, and have a limit of more than 4mb.
Is that the case? Have you configured storage.local-disk.path? That should be enough to allow files of any size to be stored.
This answer has been hidden.
New Answer
New Answer