Thanks for updating the patch, Chang!
createRMProxy(conf, protocol, instance) should be implemented in terms of createRMProxy(retryTime, retryInterval, conf, protocol, instance) rather than copying the code. It can do the conf lookups to get the retry values and call the other. Then I don't see a need to check for -1 values.
".rm." should be ".resourcemanager.". There's already precedent in the nodemanager.resourcemanager.minimum.version property. Similarly "retry.ms" should be "retry-interval.ms" to be consistent with the existing resourcemanager properties.
The added test take a long time to run for just one test (around 25 seconds), please tune down the retry intervals.
Style nit: usually extra parameters for a function overload of an existing function are passed at the end of the other form. Not a must-fix.