Details
Description
In Framework::recoverExecutor(), we attach executor->directory to 3 virtual paths:
(1) /agent_workdir/frameworks/FID/executors/EID/runs/CID
(2) /agent_workdir/frameworks/FID/executors/EID/runs/latest
(3) /frameworks/FID/executors/EID/runs/latest
But in this method, when we find the executor completes, we only do detach for (1) and (2) but not (3). We should do detach for (3) too as what we do in Slave::removeExecutor, otherwise, it will be a leak.