askSync is already added in RpcEndpointRef (see
SPARK-19347 and https://github.com/apache/spark/pull/16690#issuecomment-276850068) and askWithRetry is marked as deprecated.
askWithRetry is basically an unneeded API, and a leftover from the akka days that doesn't make sense anymore. It's prone to cause deadlocks (exactly because it's blocking), it imposes restrictions on the caller (e.g. idempotency) and other things that people generally don't pay that much attention to when using it.
Since askWithRetry is just used inside spark and not in user logic. It might make sense to replace all of them with askSync.