* Update plugins/replication from branch 'stable-2.15'
to 9547d76a375827d79804704dadf716f47d176f0d
- Add missing log statement if replication was canceled
Change-Id: Id06bae985cfdb000c66743ccd3c5d9f56d34d681
- When rescheduling due to in-flight push log also the in-flight task ID
When a push operation was rescheduled due to an in-flight push we logged
a line like:
[79bda07a] Rescheduling replication to https://host/foo.git to avoid collision with an in-flight push.
This log was already useful but it didn't tell us which push task was
actually in-flight.
Add the ID of the in-flight push task to the log:
[79bda07a] Rescheduling replication to https://host/foo.git to avoid collision with the in-flight push [80ceb18b].
This information is especially useful when a task gets repeatedly
rescheduled and we need to identify the root cause of that.
(cherry picked from commit f585eba0d21be222404b871bfe7a2b11e578eb14)
Change-Id: I7866f964cab1e4f479b0d7d62ae4aac3019fab4b
- Make sure to always remove in-flight pushes
When a push is finished successfully or fails due to an error we have to
remove it from the map of in-flight pushes. Although this was done from
a finally block, the same block performed a Repository.close() operation
prior to the in-flight push removal. If the Repository.close() threw an
exception the pool.notifyFinished() wouldn't be called and we would end
up with a zombie in-flight push.
Bug: Issue 10852
Change-Id: I8d5918d5271ba74ce12153f054503adaef155c5c
(cherry picked from commit 6fcdcf98fe61e8c6258fb40967f0cff6b8c38fd4)