Print

Print


I have had a closer look at the state of things.

DeepLocate which is done at `ls` would return all the results it could and indicate success. It would print an error message to the logging stream for all the failed requests. A success would be indicated if at least one disk server was found. Now this is corrected to `stOK` for full success and `stOK+suPartial` if some of the recursive locate requests failed. A warning message is also printed by xrdfs:

```
]==> xrdfs localhost locate -d /data 
[!] Some of the requests failed. The result may be incomplete
[2001:1458:a192:b168:c155::125]:1094 Server ReadWrite 
[2001:1458:a192:b168:c155::124]:1094 Server ReadWrite 
[2001:1458:a192:b168:c155::126]:1094 Server ReadWrite 
[2001:1458:a192:b168:c155::127]:1094 Server ReadWrite 
```

As far as `ls` is concerned: it has always worked this way. I now also propagate partial flag from deep locate to `ls`'s return code if necessary.

```
]==> xrdfs localhost ls  /data 
[!] Some of the requests failed. The result may be incomplete
/data/562e0914-c6e9-4ca0-89ae-9865b99bb83e
/data/d47816ed-02a4-496d-a69d-0acdee9e8a0d
/data/88dd240b-6108-4526-be93-1690bb8c6c82
/data/7553884a-c0c3-4cd5-b5c3-5e6aa6203f1c
```

The test has been done with the following imposter:

```
  def __call__( self, context ):
    server = ImposterServer(context)

    server.doFullHandshake(verifyAuth=False)

    for request in server.receive():
      if request.type == 'kXR_locate':
        server.send( server.kXR_locate( streamid  = request.streamid,
                                        locations = ['Mw[2001:1458:a192:b168:c155::122]:1094',
                                                     'Mw[2001:1458:a192:b168:c155::123]:1094',
                                                     'Mw[2001:1458:a192:b168:c155::199]:1094',] ))

    sleep(2)
    server.close()
```
Where one of the addresses points to a host that does not exist.

Please let me know if see or expect something different. Otherwise I will close the issue.

---
Reply to this email directly or view it on GitHub:
https://github.com/xrootd/xrootd/issues/58#issuecomment-38152448

########################################################################
Use REPLY-ALL to reply to list

To unsubscribe from the XROOTD-DEV list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1