[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[p2-dev] question about soft reference to "unreachable repositories"

The AbstractRepositoryManager maintains a soft reference to a list of "unreachable repositories". A site that did not load is always added to this list even if the reason for not being added is that the transfer was canceled by the user.

I see two potential problems with this:
- As this is kept in a soft reference, it is hard to tell when a new attempt of loading a failing repository will take place.
- A user that cancels will have to wait some unknown amount of time (or invoke operations/gc until the soft reference is cleared).

I stumbled across this when testing resume of a canceled download. The attempt to resume always fails on the "recently failed" test.
I got around this by calling "refresh" which in turns clears the soft referenced list, so I can make a second attempt.

Is there any need to worry about a user canceling and retrying and wondering what is going on, or is the user interface making sure that a second attempt is made after the list is cleared?

Henrik Lindberg