Hi Pavel, just some comments: Pavel Jakl wrote: > > So, I have figured 2 possible cases how to do it: > > 1) Use AsyncOpen at client side > > I am scared of this solution, since it can use lots of resources with > many simultaneously opened connections. I can see jobs with thousand of > files. In our case, when we have 400 nodes for job's processing, it > could be very big number of connections to redirector node. > A file to be opened typically does not mean one more connection to the server. Typically a single job keeps only 1 connection per server, even if it opens many files. Hence the resources used at the client side are mainly object instances. This should make AsyncOpen a usable method again for your case, provided that you don't have tenths of thousands files to open for every running job. > 2) There is some sort of "prepare" methods at server side. So, how can I > call them from the client side ? Just instantiate (even statically, like in xrdcp) a XrdClientAdmin object and use the Prepare function in it. The interface and the description is in XrdClientAdmin.hh > > This solution would be better for me, if I could somehow pass the list > to the server through the client and do not need any other assistance or > presence of the client at each file's preparation. > I know that there could be a problem with this. The files can disappear > between the prepared and actual requested time of processing. (server > went down, purging etc.). I think that the occurrence of this case is > usually very small. However, I didn't make any sophisticated > investigation to prove it since it would be very hard to get these > statistic. > > Thanks for any suggestion or help > Cheers > Pavel