You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Note that this means that multiple servers (>= 1) can be specified in the url. The connection will try to connect to the first server:port and if that does not succeed, it will try the second one, and so on until it finds a server that will respond.
I didn't realise this was an pre-existing feature in ROOT but I'd been asking for it for a while. Being able to do this better matches with how data is stored on the grid and makes it easier to when sites are down.
The implementation of this shouldn't only check that the server is alive, it should also fallback if errors are returned when trying to access the data (i.e. only querying the config isn't enough to know if the site is down).
The text was updated successfully, but these errors were encountered:
Are the fallbacks accessible in the XRootD.client.URL object?
Recovering from a nonexistent URL takes quite a while. The timeout has to be an integer number of seconds and passing "1" means as much as 5‒10 seconds in practice. (Eventually, I'll be turning off unit test #1, or at least making it part of a "long tests" suite.)
I think this ties very closely with scikit-hep/fsspec-xrootd#36 The implementations would share a lot of the same logic w.r.t. keeping open connections to multiple servers and ensuring we use the best server for a file at any given time.
From the
TXNetFile
docs:I didn't realise this was an pre-existing feature in ROOT but I'd been asking for it for a while. Being able to do this better matches with how data is stored on the grid and makes it easier to when sites are down.
The implementation of this shouldn't only check that the server is alive, it should also fallback if errors are returned when trying to access the data (i.e. only querying the config isn't enough to know if the site is down).
The text was updated successfully, but these errors were encountered: