code: func (j *Job) fetchShardIDs(c context.Context) ([]int64, error) {
  	l := shardList{Parent: datastore.KeyForObj(c, j)}
  	switch err := datastore.Get(c, &l); {
  	case err == datastore.ErrNoSuchEntity:
  		return nil, errors.Annotate(err, "broken state, no ShardList entity for job %d", j.ID).Err()
  	case err != nil:
  		return nil, errors.Annotate(err, "when fetching list of shards of job %d", j.ID).Tag(transient.Tag).Err()
  	default:
  		return l.Shards, nil
  	}
  }
docs: // fetchShardIDs fetches IDs of the job shards.