When a worker is selected when dispatching a task, the manager checks for possible input file sources with vine_manager_transfer_capacity_available. If this function fails to find peers for all input files, then the task is not dispatched. Since nothing changes in the state of the manager, this dispatch is tried endlessly.
The inner check that fails is vine_file_replica_table_find_worker. Since this check fails, that means that vine_manager_check_inputs_available (with inner vine_file_replica_table_exists_somewhere) should have previously failed. Thus, one hand the manager thinks the file exists somewhere, but then it cannot find it.
Unfortunately this bug is hard to reproduce.
When a worker is selected when dispatching a task, the manager checks for possible input file sources with
vine_manager_transfer_capacity_available. If this function fails to find peers for all input files, then the task is not dispatched. Since nothing changes in the state of the manager, this dispatch is tried endlessly.The inner check that fails is vine_file_replica_table_find_worker. Since this check fails, that means that vine_manager_check_inputs_available (with inner vine_file_replica_table_exists_somewhere) should have previously failed. Thus, one hand the manager thinks the file exists somewhere, but then it cannot find it.
Unfortunately this bug is hard to reproduce.