Skip to content

Conversation

@aymanbagabas
Copy link
Contributor

When the transfer gets aborted, dangling goroutines might add more transfers to the queue resulting in a wait deadlock.
Conditionally add transfers to queue if abort flag is not set.

Using a pure-SSH approach makes the client hang unable to abort.

Signed-off-by: Ayman Bagabas [email protected]

When the transfer gets aborted, dangling goroutines might add more
transfers to the queue resulting in a wait deadlock.
Conditionally add transfers to queue if abort flag is not set.

Signed-off-by: Ayman Bagabas <[email protected]>
@aymanbagabas aymanbagabas requested a review from a team as a code owner December 19, 2022 13:25
@chrisd8088
Copy link
Member

Thanks for the patch! This looks reasonable to me, so I'm going to merge it.

While looking at this I realize it would be nice to have some tests for the abortableWaitGroup functions in the tq/transfer_queue_test.go Go tests, at least, but I don't think we need to hold this up on that point.

Copy link
Member

@chrisd8088 chrisd8088 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, thanks!

@chrisd8088 chrisd8088 merged commit 4140f63 into git-lfs:main Dec 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants