code: private static boolean shouldCommitDataInJob(State state) {
      boolean jobCommitPolicyIsFull =
          JobCommitPolicy.getCommitPolicy(state.getProperties()) == JobCommitPolicy.COMMIT_ON_FULL_SUCCESS;
      boolean publishDataAtJobLevel = state.getPropAsBoolean(ConfigurationKeys.PUBLISH_DATA_AT_JOB_LEVEL,
          ConfigurationKeys.DEFAULT_PUBLISH_DATA_AT_JOB_LEVEL);
      boolean jobDataPublisherSpecified =
          !Strings.isNullOrEmpty(state.getProp(ConfigurationKeys.JOB_DATA_PUBLISHER_TYPE));
      return jobCommitPolicyIsFull || publishDataAtJobLevel || jobDataPublisherSpecified;
    }
docs: Whether data should be committed by the job (as opposed to being commited by the tasks).
  Data should be committed by the job if either {@link ConfigurationKeys#JOB_COMMIT_POLICY_KEY} is set to "full",
  or {@link ConfigurationKeys#PUBLISH_DATA_AT_JOB_LEVEL} is set to true.