`spark.files.userClassPath` is a global configuration that controls the ordering of dynamically added jars, while `spark.yarn.user.classpath.first` is only for YARN. I agree it is a little confusing, but this is independent of this PR. We can create a new JIRA for it.