Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add lfs.basictransfersonly option to disable non-basic transfer adapters #1299

Merged
merged 3 commits into from Jun 10, 2016

Conversation

sinbad
Copy link
Contributor

@sinbad sinbad commented Jun 9, 2016

Will be useful as a workaround where there are server bugs & avoid having to retry across adapters without knowing whether the cause is transient or not.

Basically error handling with non-basic adapters gets a lot more complex if we try to allow fallbacks to other adapters when an adapter fails. We can't know if errors are due to a transient problem or whether there's a bug in the server implementation and that we should stop negotiating this adapter. Even if we could determine that we'd have to perform the re-negotiation again.

Instead with this PR we assume that we continue to use the same definition of retriable errors and fatal errors, and abort if a non-basic adapter fails. If the user then knows it's because the server is buggy then they can enable this option to go back to the basic transfer adapter in all cases until it's fixed.

…pters

Will be useful as a workaround where there are server bugs & avoid having
to retry across adapters without knowing whether the cause is transient
or not.
@sinbad sinbad added the review label Jun 9, 2016
@@ -227,6 +227,21 @@ func (c *Configuration) ConcurrentTransfers() int {
return uploads
}

// BasicTransfersOnly returns whether to only allow "basic" HTTP transfers
Copy link
Contributor

Choose a reason for hiding this comment

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

Perhaps add a note about the default value, or what happens if the parse fails?

@ttaylorr
Copy link
Contributor

Minor comments, otherwise good to go 👍

@sinbad sinbad merged commit e6600a0 into master Jun 10, 2016
@sinbad sinbad deleted the transfer-basic-only branch June 10, 2016 08:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants