need consistent rules for retrying ftp transport operations

Bug #127164 reported by Vincent Ladeuil
28
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Bazaar
Confirmed
Wishlist
Unassigned
Breezy
Won't Fix
Wishlist
Unassigned

Bug Description

The ftp transport internally handles temporary errors inconsistently.

Sometimes we reconnect, sometimes we raise an exception.

Care should be taken to analyze the implications for write operations (read operations are safe to retry).

Overall even some read operations are never retried.

Tags: ftp

Related branches

Revision history for this message
Martin Pool (mbp) wrote :

What should be done? An audit of the ftp transport code? Or some structural change?

It seems like we ought to be able to describe some operations as retryable regardless of the particular protocol.

Changed in bzr:
status: New → Incomplete
Revision history for this message
Vincent Ladeuil (vila) wrote :

Several things should/could be done in several steps:
- audit the ftp code for read operations and make them coherent ('get' reconnect on transient errors, 'has' don't for example)
- write a test ftp server that can simulate transient errors at any point (making it reusable for other protocols for an added bonus)
- audit code for write operations (this may have deeper implications than read operations and may be done in a second step)
- verify that ftp and sftp implementations are at the same level error handling wise (the ftp implementation has the notion of number_of_reties that the sftp implementation lacks)
- from the above verify that other protocols are coherent with that error handling

Due to the differences between the protocols it may not be possible to handle all operations with the same tolerance regarding transient errors but at least the above steps mentioned above should give us a better overall view.

Changed in bzr:
status: Incomplete → Confirmed
importance: Undecided → Wishlist
Vincent Ladeuil (vila)
Changed in bzr:
assignee: nobody → v-ladeuil
Revision history for this message
Vincent Ladeuil (vila) wrote :

I'm not going to work on this bug in the foreseeable future, but feel free to ping me if you need guidance or even ideas.

Changed in bzr:
assignee: Vincent Ladeuil (vila) → nobody
Jelmer Vernooij (jelmer)
tags: added: check-for-breezy
Jelmer Vernooij (jelmer)
Changed in brz:
status: New → Triaged
importance: Undecided → Wishlist
tags: added: ftp
removed: check-for-breezy
Jelmer Vernooij (jelmer)
Changed in brz:
milestone: none → 3.0.0
status: Triaged → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.