Page MenuHomePhabricator

Batch edit Add Project does not perform the action requested
Closed, ResolvedPublic

Description

I have open tasks which are in a "Sprint M42" project.
I'd like to move them to a "Sprint M43" project.
So I first tried to batch add "Sprint M43" project, but nothing is added and I have no error message.

Event Timeline

olivier-squid raised the priority of this task from to Needs Triage.
olivier-squid updated the task description. (Show Details)
olivier-squid added a project: Maniphest.

Here's the corresponding error log in /var/tmp/phd/log/daemons.log

[02-Jul-2015 10:26:24 UTC] [2015-07-02 10:26:24] EXCEPTION: (PhabricatorDataNotAttachedException) Attempting to access attached data on ManiphestTask (via getProjectPHIDs()), but the data is not actually attached. Before accessing attachable data on an object, you must load and attach it.

Data is normally attached by calling the corresponding needX() method on the Query class when the object is loaded. You can also call the corresponding attachX() method explicitly. at [<phabricator>/src/infrastructure/storage/lisk/PhabricatorLiskDAO.php:166]
[02-Jul-2015 10:26:24 UTC] arcanist(head=master, ref.master=d54cb072facd), phabricator(head=master, ref.master=6a996d76fd1a), phutil(head=master, ref.master=83f09f6c5a03)
[02-Jul-2015 10:26:24 UTC]   #0 <#2> PhabricatorLiskDAO::assertAttached(string) called at [<phabricator>/src/applications/maniphest/storage/ManiphestTask.php:153]
[02-Jul-2015 10:26:24 UTC]   #1 <#2> ManiphestTask::getProjectPHIDs() called at [<phabricator>/src/applications/maniphest/bulk/ManiphestTaskEditBulkJobType.php:125]
[02-Jul-2015 10:26:24 UTC]   #2 <#2> ManiphestTaskEditBulkJobType::buildTransactions(array, ManiphestTask) called at [<phabricator>/src/applications/maniphest/bulk/ManiphestTaskEditBulkJobType.php:63]
[02-Jul-2015 10:26:24 UTC]   #3 <#2> ManiphestTaskEditBulkJobType::runTask(PhabricatorUser, PhabricatorWorkerBulkJob, PhabricatorWorkerBulkTask) called at [<phabricator>/src/infrastructure/daemon/workers/storage/PhabricatorWorkerBulkJob.php:169]
[02-Jul-2015 10:26:24 UTC]   #4 <#2> PhabricatorWorkerBulkJob::runTask(PhabricatorUser, PhabricatorWorkerBulkTask) called at [<phabricator>/src/infrastructure/daemon/workers/bulk/PhabricatorWorkerBulkJobTaskWorker.php:32]
[02-Jul-2015 10:26:24 UTC]   #5 phlog(PhabricatorDataNotAttachedException) called at [<phabricator>/src/infrastructure/daemon/workers/bulk/PhabricatorWorkerBulkJobTaskWorker.php:35]
[02-Jul-2015 10:26:24 UTC]   #6 PhabricatorWorkerBulkJobTaskWorker::doWork() called at [<phabricator>/src/infrastructure/daemon/workers/PhabricatorWorker.php:91]
[02-Jul-2015 10:26:24 UTC]   #7 PhabricatorWorker::executeTask() called at [<phabricator>/src/infrastructure/daemon/workers/storage/PhabricatorWorkerActiveTask.php:162]
[02-Jul-2015 10:26:24 UTC]   #8 PhabricatorWorkerActiveTask::executeTask() called at [<phabricator>/src/infrastructure/daemon/workers/PhabricatorTaskmasterDaemon.php:22]
[02-Jul-2015 10:26:24 UTC]   #9 PhabricatorTaskmasterDaemon::run() called at [<phutil>/src/daemon/PhutilDaemon.php:183]
[02-Jul-2015 10:26:24 UTC]   #10 PhutilDaemon::execute() called at [<phutil>/scripts/daemon/exec/exec_daemon.php:125]
[02-Jul-2015 10:26:24 UTC] [2015-07-02 10:26:24] EXCEPTION: (PhabricatorDataNotAttachedException) Attempting to access attached data on ManiphestTask (via getProjectPHIDs()), but the data is not actually attached. Before accessing attachable data on an object, you must load and attach it.

Data is normally attached by calling the corresponding needX() method on the Query class when the object is loaded. You can also call the corresponding attachX() method explicitly. at [<phabricator>/src/infrastructure/storage/lisk/PhabricatorLiskDAO.php:166]
[02-Jul-2015 10:26:24 UTC] arcanist(head=master, ref.master=d54cb072facd), phabricator(head=master, ref.master=6a996d76fd1a), phutil(head=master, ref.master=83f09f6c5a03)
[02-Jul-2015 10:26:24 UTC]   #0 <#2> PhabricatorLiskDAO::assertAttached(string) called at [<phabricator>/src/applications/maniphest/storage/ManiphestTask.php:153]
[02-Jul-2015 10:26:24 UTC]   #1 <#2> ManiphestTask::getProjectPHIDs() called at [<phabricator>/src/applications/maniphest/bulk/ManiphestTaskEditBulkJobType.php:125]
[02-Jul-2015 10:26:24 UTC]   #2 <#2> ManiphestTaskEditBulkJobType::buildTransactions(array, ManiphestTask) called at [<phabricator>/src/applications/maniphest/bulk/ManiphestTaskEditBulkJobType.php:63]
[02-Jul-2015 10:26:24 UTC]   #3 <#2> ManiphestTaskEditBulkJobType::runTask(PhabricatorUser, PhabricatorWorkerBulkJob, PhabricatorWorkerBulkTask) called at [<phabricator>/src/infrastructure/daemon/workers/storage/PhabricatorWorkerBulkJob.php:169]
[02-Jul-2015 10:26:24 UTC]   #4 <#2> PhabricatorWorkerBulkJob::runTask(PhabricatorUser, PhabricatorWorkerBulkTask) called at [<phabricator>/src/infrastructure/daemon/workers/bulk/PhabricatorWorkerBulkJobTaskWorker.php:32]
[02-Jul-2015 10:26:24 UTC]   #5 phlog(PhabricatorDataNotAttachedException) called at [<phabricator>/src/infrastructure/daemon/workers/bulk/PhabricatorWorkerBulkJobTaskWorker.php:35]
[02-Jul-2015 10:26:24 UTC]   #6 PhabricatorWorkerBulkJobTaskWorker::doWork() called at [<phabricator>/src/infrastructure/daemon/workers/PhabricatorWorker.php:91]
[02-Jul-2015 10:26:24 UTC]   #7 PhabricatorWorker::executeTask() called at [<phabricator>/src/infrastructure/daemon/workers/storage/PhabricatorWorkerActiveTask.php:162]
[02-Jul-2015 10:26:24 UTC]   #8 PhabricatorWorkerActiveTask::executeTask() called at [<phabricator>/src/infrastructure/daemon/workers/PhabricatorTaskmasterDaemon.php:22]
[02-Jul-2015 10:26:24 UTC]   #9 PhabricatorTaskmasterDaemon::run() called at [<phutil>/src/daemon/PhutilDaemon.php:183]
[02-Jul-2015 10:26:24 UTC]   #10 PhutilDaemon::execute() called at [<phutil>/scripts/daemon/exec/exec_daemon.php:125]
epriestley triaged this task as Normal priority.

Ok the problem is fixed but not completely as only one of my batch task was executed :

  1. add project "Sprint M43"
  2. remove project "Sprint M42"

only 2) was executed.

No errors in daemon.log

I re-open the task.

After D18868, which rewrote the relevant code in the bulk editor, I can no longer reproduce this. My expectation is that the modern pathway these edits take can correctly collate multiple edits to the same field.