Description
In localizeResource once we got an IOException, we always assume this is due to another thread writing the same file. But that is not always the case. Even without the interference from other threads, it may still get an IOException (RemoteException) due to failure of copyFromLocalFile in a specific environment, for example, in a kerberized HDFS encryption zone where the TGT is expired.
We'd better fail early with different message to avoid confusion.