Microsoft.Hpc.Scheduler.Properties.dll throws exception "Comma should not be contained in task name: ABC,ZYZ" RRS feed

  • Question

  • Hi

    We run a job on HPC 2012 and populate the Task DependOn property. However, this exception is thrown when I submit a job if dependent task name contain comma.

    If dependent task name does not contain comma, all works fine. Does it mean DependOn property eventually convert to comma-delimited list and passed to HPC? If so, any workaround?

    Comma should not be contained in task name: "3 Projection, X".

    Stack Trace:

       at Microsoft.Hpc.Scheduler.SchedulerTask.CheckTaskNameFormat(IStringCollection input)
       at Microsoft.Hpc.Scheduler.SchedulerTask.set_DependsOn(IStringCollection value)
       at Microsoft.Hpc.Scheduler.SchedulerTask.CommitStringLists()
       at Microsoft.Hpc.Scheduler.SchedulerTask.CollectProps(Int32 rootGroupId, Dictionary`2 taskGroupIdMapping)
       at Microsoft.Hpc.Scheduler.SchedulerTask.AddPropsToList(IClusterJob job, Int32 rootGroupId, Dictionary`2 taskGroupIdMapping, List`1 propsListForTasks)
       at Microsoft.Hpc.Scheduler.SchedulerJob.CreateAddedTasks(Int32 rootGrpId, Dictionary`2 taskGroupIdMapping)
       at Microsoft.Hpc.Scheduler.SchedulerJob.CreateJob()
       at Microsoft.Hpc.Scheduler.SchedulerJob.Submit(ISchedulerStore store, String username, String password)
       at Microsoft.Hpc.Scheduler.Scheduler.SubmitJob(ISchedulerJob job, String username, String password)


    Tuesday, July 14, 2015 2:28 AM

All replies

  • Hi David,

      You're right, we are not allowed to use comma in the task name in dependOn. You can change your task name to prevent this issue or you can use TaskGroup for task dependency which won't rely on task name. There are couple of ways you can leverage TaskGroup:

    1. Through Job GUI, whether you can edit sequential task dependencies through task group

    2. Export a job with task dependency information in it, check the job XML, you will see a task group tree in the beginning of the job, and every task associate with a task group. HPC Scheduler with schedule tasks based on the task group tree dependency. And you can create job from the XML file so that your tasks will have dependency set according to the task group tree. And this is a recommended and fast way for creating job with complicated task dependency or with huge amount of tasks in a job

    3. Create Task Group and assign Tasks to task group through API

    Qiufang Shi

    Wednesday, July 15, 2015 3:44 AM