Lookup changes in parallel during ReceiveCommits

If the database has high query latency, the loop that locates existing
changes on the destination branch given Change-Id can be slow. Start
all of the queries as commits are discovered, but don't block on
results until all queries were started.

If the database can build the ResultSet in the background, this may
hide some of the query latency by allowing the queries to overlap when
more than one lookup must be performed for a push.

Change-Id: I26f02506317d1c18e5d9562133a4afc0c32416ed
1 file changed