Can you change persist to specify the memory and disk option? Otherwise if the block doesn't fit in memory, it just gets dropped and you won't be able to find it later.

Also, once the master fetches the block, it will need to unpersist the RDD.