Description
We have observed the scheduler attempting to kill tasks before registered() had been called. This resulted in the driver dropping those attempts on the floor. Since the driver didn't signal failure to the scheduler (but instead logged an error) the scheduler wrote a KILLING state transition to the replicated log and signaled success to the client. Since the killTasks message was never sent the task timed out and the task continued to run until the GC executor reconciled state.