Description
This is LocalCache#PurgeJob() issue.
If the entry object in cache is removed successfully by cache.remove(), cache.entrySet would be decreased then next entry will be retrieved and removed. However, if the entry object is not removed due to the failure of removing the file during async upload, the entry in cache would not be removed, then the next entry would be the same entry again by the iterator because the iterator is not changed still. Consequently, that causes endless loop until async upload of the file completes. If the file is larger, the endless loop will continue for a longer time. It's harmful.