code: def calculate_keys_by_mapreduce_state(cls, mapreduce_state):
      
      if mapreduce_state is None:
        return []
  
      keys = []
      for i in range(mapreduce_state.mapreduce_spec.mapper.shard_count):
        shard_id = cls.shard_id_from_number(mapreduce_state.key().name(), i)
        keys.append(cls.get_key_by_shard_id(shard_id))
      return keys
docs: Calculate all shard states keys for given mapreduce.
  
      Args:
        mapreduce_state: MapreduceState instance
  
      Returns:
        A list of keys for shard states, sorted by shard id.
        The corresponding shard states may not exist.