code: def find_all_by_mapreduce_state(cls, mapreduce_state):
      
      keys = cls.calculate_keys_by_mapreduce_state(mapreduce_state)
      i = 0
      while i < len(keys):
        @db.non_transactional
        def no_tx_get(i):
          return db.get(keys[i:i+cls._MAX_STATES_IN_MEMORY])
        # We need a separate function to so that we can mix non-transactional and
        # use be a generator
        states = no_tx_get(i)
        for s in states:
          i += 1
          if s is not None:
            yield s
docs: Find all shard states for given mapreduce.
  
      Args:
        mapreduce_state: MapreduceState instance
  
      Yields:
        shard states sorted by shard id.