change hash_reader read hash/wait_download using findAndModify, to avoid the read/delete two operations