I am a bit confused why Spark AM and Client are both trying to delete
As you can see, in case if a job was running on YARN in Cluster deployment
mode, both AM and Client will try to delete Staging directory if job
succeeded and eventually one of them will fail to do this, because the
other one already deleted the directory.
Shouldn't we add some check to Client?