private Configuration makeDriverConfiguration(
final ClientRuntimeProtocol.JobSubmissionProto jobSubmissionProto,
final Path jobFolderPath) throws IOException {
Configuration config = this.configurationSerializer.fromString(jobSubmissionProto.getConfiguration());
final String userBoundJobSubmissionDirectory = config.getNamedParameter((NamedParameterNode<?>)config.getClassHierarchy().getNode(ReflectionUtilities.getFullName(DriverJobSubmissionDirectory.class)));
LOG.log(Level.FINE, "user bound job submission Directory: " + userBoundJobSubmissionDirectory);
final String finalJobFolderPath =
(userBoundJobSubmissionDirectory == null || userBoundJobSubmissionDirectory.isEmpty())
? jobFolderPath.toString() : userBoundJobSubmissionDirectory;
return Configurations.merge(
YarnDriverConfiguration.CONF
.set(YarnDriverConfiguration.JOB_SUBMISSION_DIRECTORY, finalJobFolderPath)
.set(YarnDriverConfiguration.JOB_IDENTIFIER, jobSubmissionProto.getIdentifier())
.set(YarnDriverConfiguration.CLIENT_REMOTE_IDENTIFIER, jobSubmissionProto.getRemoteId())
.set(YarnDriverConfiguration.JVM_HEAP_SLACK, this.jvmSlack)
.build(),
this.configurationSerializer.fromString(jobSubmissionProto.getConfiguration()));
}