Print

Print


I executed basically following python code that from bash script in a loop

import gfal2
ctx = gfal2.creat_context()
ctx.set_opt_string("XROOTD PLUGIN", "XRD.WANTPROT", "gsi,unix")
params = ctx.transfer_parameters()
params.timeout = 60
ctx.filecopy(params, "file:///tmp/1M", "root://golias100.farm.particle.cz/dpm/farm.particle.cz/home/atlas/1M")

and after a while new corrupted files appeared at our storage including
one big file:

[vokac@ui1 ~]$ gfal-ls -l 'davs://golias100.farm.particle.cz/dpm/farm.particle.cz/home/atlas/1M.01556.20190907190118.646902567.00000'
-rw-rw-r--   0 1310  5281  139703410778112 Sep  7 19:01 davs://golias100.farm.particle.cz/dpm/farm.particle.cz/home/atlas/1M.01556.20190907190118.646902567.00000	

Now I have also debug output from gfal client including
XRD_LOGLEVEL=Dump + XRD_LOGMASK=All for this file with xrootd.log on
server side:

[root@dpmpool19 ~]$ grep condor.39253:171 /var/log/xrootd/dpmdisk/xrootd.log
190907 19:01:19 29645 XrootdXeq: condor.39253:171@[2001:718:401:6e03::1:82] pub IP64 login as /DC=ch/DC=cern/OU=Organic Units/OU=Users/CN=vokac/CN=610071/CN=Petr Vokac
190907 19:01:22 32625 condor.39253:171@[2001:718:401:6e03::1:82] ofs_write: 1009440128@139703410643808 fn=/dpm/farm.particle.cz/home/atlas/1M.01556.20190907190118.646902567.00000
190907 19:01:23 32625 condor.39253:171@[2001:718:401:6e03::1:82] ofs_write: 131072@131072 fn=/dpm/farm.particle.cz/home/atlas/1M.01556.20190907190118.646902567.00000
190907 19:01:23 32625 condor.39253:171@[2001:718:401:6e03::1:82] ofs_write: 131072@262144 fn=/dpm/farm.particle.cz/home/atlas/1M.01556.20190907190118.646902567.00000
190907 19:01:24 32625 condor.39253:171@[2001:718:401:6e03::1:82] ofs_write: 131072@393216 fn=/dpm/farm.particle.cz/home/atlas/1M.01556.20190907190118.646902567.00000
190907 19:01:24 32625 condor.39253:171@[2001:718:401:6e03::1:82] ofs_write: 131072@524288 fn=/dpm/farm.particle.cz/home/atlas/1M.01556.20190907190118.646902567.00000
190907 19:01:25 32625 condor.39253:171@[2001:718:401:6e03::1:82] ofs_write: 131072@655360 fn=/dpm/farm.particle.cz/home/atlas/1M.01556.20190907190118.646902567.00000
190907 19:01:25 32625 condor.39253:171@[2001:718:401:6e03::1:82] ofs_write: 131072@786432 fn=/dpm/farm.particle.cz/home/atlas/1M.01556.20190907190118.646902567.00000
190907 19:01:25 32625 condor.39253:171@[2001:718:401:6e03::1:82] ofs_write: 131072@917504 fn=/dpm/farm.particle.cz/home/atlas/1M.01556.20190907190118.646902567.00000
190907 19:01:26 32625 XrootdXeq: condor.39253:171@[2001:718:401:6e03::1:82] disc 0:00:07

This file was transferred from mff82.farm.particle.cz
(2001:718:401:6e03::1:82) to the storage dpmpool19.farm.particle.cz
(2001:718:401:6017:2::19) and both machines use
xrootd-4.9.1-1.el7.x86_64 and mff82 use gfal2-2.16.3-1.el7.x86_64

I also tried to calculate adler32 for data blocks from positions logged
by server and result match source data checksum. When I look at other
transfers finished with "SUCCESS" but with the filesize different from
source file I can see that problems always occurs only with first
"ofs_write" log line where size@offset contains wrong numbers.

Attached files:

1M.01556.20190907190118.646902567.00000.dump ... xrd with dump log level
1M.01556.20190907190118.646902567.00000.log ... gfal2 verbose logging (+
few log lines from my script)
1M.01556.20190907190118.646902567.00000.xrootd.long ... dpmpool19
xrootd.log

I have more examples of successfully transferred files with wrong size
(sometimes bigger than original 1M size and sometimes smaller):

07 Sep 18:39:33.879 [ERROR] dpmpool1.farm.particle.cz BAD SIZE 917504
07 Sep 18:40:45.039 [ERROR] dpmpool21.farm.particle.cz BAD SIZE 917504
07 Sep 18:41:22.555 [ERROR] dpmpool21.farm.particle.cz BAD SIZE 917504
07 Sep 18:41:39.248 [ERROR] dpmpool21.farm.particle.cz BAD SIZE 917504
07 Sep 18:56:51.113 [ERROR] dpmpool24.farm.particle.cz BAD SIZE 917504
07 Sep 18:58:04.436 [ERROR] dpmpool1.farm.particle.cz BAD SIZE 393194936
07 Sep 19:01:25.908 [ERROR] dpmpool19.farm.particle.cz BAD SIZE
139703410778112
07 Sep 19:02:17.183 [ERROR] dpmpool24.farm.particle.cz BAD SIZE 0
07 Sep 19:02:53.014 [ERROR] dpmpool16.farm.particle.cz BAD SIZE 917504
07 Sep 19:03:49.424 [ERROR] dpmpool1.farm.particle.cz BAD SIZE 917504
07 Sep 19:05:47.743 [ERROR] dpmpool21.farm.particle.cz BAD SIZE 13983727
07 Sep 19:15:15.761 [ERROR] dpmpool22.farm.particle.cz BAD SIZE 12752345
07 Sep 19:16:58.898 [ERROR] dpmpool20.farm.particle.cz BAD SIZE 917504
07 Sep 19:18:51.590 [ERROR] dpmpool17.farm.particle.cz BAD SIZE 6302080
07 Sep 19:20:37.006 [ERROR] dpmpool21.farm.particle.cz BAD SIZE 1456153896
07 Sep 19:52:32.553 [ERROR] dpmpool16.farm.particle.cz BAD SIZE 917504
07 Sep 19:53:45.155 [ERROR] dpmpool22.farm.particle.cz BAD SIZE 1000000000
07 Sep 20:11:14.497 [ERROR] dpmpool22.farm.particle.cz BAD SIZE 917504
07 Sep 20:12:51.081 [ERROR] dpmpool20.farm.particle.cz BAD SIZE 917504
07 Sep 20:14:58.090 [ERROR] dpmpool20.farm.particle.cz BAD SIZE 100663296
07 Sep 20:24:57.457 [ERROR] dpmpool1.farm.particle.cz BAD SIZE 917504
07 Sep 20:27:37.596 [ERROR] dpmpool19.farm.particle.cz BAD SIZE 917504
07 Sep 20:28:21.617 [ERROR] dpmpool16.farm.particle.cz BAD SIZE 0

Petr

On 9/5/19 2:44 PM, Petr Vokac wrote:
> I'm going to test in a loop uploads with this code and also enabled gfal
> debug logging from our remote machines that talks with storage through
> quite saturated network (we never saw same issue from cluster worker
> nodes that shares room with diskservers). I also saw few transfers that
> did not create big sparse file, but just failed while comparing
> checksums after upload and this is also quite suspicious behavior.
>
> Petr
>
> On 9/5/19 12:57 PM, andrea manzi wrote:
>>> Ciao Andrea,
>>>
>>> we practically do this:
>>>
>>>     ctx = creat_context(...
>>>     ctx.set_opt_string("XROOTD PLUGIN", "XRD.WANTPROT", "gsi,unix")
>>>     ctx.mkdir_rec(...
>>>     ctx.filecopy(..
>>>
>>> Is that the gfal transfer API?
>> yup, internally in gfal2 we then use the XrdCl to perform the copy (
>> both for local files and TPC)
>>
>> today is holiday but we can start investigating with Michal tomorrow
>> or Monday the possible issue
>>
>> cheers
>>
>> Andrea
>>
>>> Cheers,
>>> Mario
>>>
>>>
>>>
>>> On 05/09/2019 10:35, andrea manzi wrote:
>>>> ciao Mario,
>>>>
>>>> i guess you are using the gfal2 transfer API in Rucio right ? ( the
>>>> equivalent to gfal-copy)
>>>>
>>>> in gfal2,  in the case of the transfer API  for xrootd, we don't do
>>>> much
>>>> as we just use the xrootd client (  XrdCl::CopyProcess), so we don't
>>>> touch file offsets.
>>>>
>>>> so we may want to investigate if there is a problem in XrdCl. Do you
>>>> have the logs of the client?
>>>>
>>>> If you are using the gfal2 Posix API instead we need to investigate a
>>>> possible bug there
>>>>
>>>> cheers
>>>>
>>>> Andrea
>>>>
>>>>
>>>>> Hi Petr, Andy,
>>>>>
>>>>> once extra piece of information here: Rucio uses the python
>>>>> bindings to
>>>>> the gfal library to upload these files, and de-facto always uses the
>>>>> current stable gfal version that is published on ALRB. Rucio doesn't
>>>>> implement any other upload by itself.
>>>>>
>>>>> Cheers,
>>>>> Mario
>>>>>
>>>>> On 05/09/2019 04:21, Andrew Hanushevsky wrote:
>>>>>> Hi Petr,
>>>>>>   So, look at this line:
>>>>>>   190904 17:02:16 22915 atlasprd.2817:152@[2001:718:401:6e03::1:82]
>>>>>> ofs_write: 1784104010@6506989258351653185
>>>>>> fn=/dpm/farm.particle.cz/home/atlas/atlasdatadisk/rucio/mc15_5TeV/90/9f/EVNT.18960107._035789.pool.root.1.rucio.upload
>>>>>>
>>>>>> Why did the application doing the write specify an offset of
>>>>>> 5506989258351653185? So, that is the problem and, as you noted, it
>>>>>> doesn’t matter whether POSC is on or not. Indeed, it’s the first
>>>>>> write
>>>>>> to the file and only the first write that suffers from this
>>>>>> problem. So,
>>>>>> there are two possibilities here: a) there is a bug in the
>>>>>> uploader, or
>>>>>> b) there was a network data corruption that managed to hit the offset
>>>>>> (somewhat unlikely).
>>>>>>   Andy
>>>>>>   *From:* Petr Vokac <mailto:[log in to unmask]>
>>>>>> *Sent:* Wednesday, September 04, 2019 12:19 PM
>>>>>> *To:* Andrew Hanushevsky <mailto:[log in to unmask]>
>>>>>> *Cc:* dpm-devel <mailto:[log in to unmask]> ;
>>>>>> [log in to unmask]
>>>>>> <mailto:[log in to unmask]>
>>>>>> *Subject:* Re: Uploaded file 128TB on filesystem
>>>>>>   I configured our diskservers with "ofs.trace write" (I did not
>>>>>> yet add
>>>>>> in xrootd configuraton "ofs.persist hold 0") and today new file
>>>>>> appeared
>>>>>> on one of our storage servers:
>>>>>>
>>>>>> *[root@dpmpool1 ~]# grep atlasprd.2817:152
>>>>>> /var/log/xrootd/dpmdisk/xrootd.log*
>>>>>> 190904 17:02:08 1894 XrootdXeq:
>>>>>> atlasprd.2817:152@[2001:718:401:6e03::1:82] pub IP64 login as
>>>>>> /DC=ch/DC=cern/OU=Organic
>>>>>> Units/OU=Users/CN=atlpilo1/CN=614260/CN=Robot: ATLAS Pilot1
>>>>>> 190904 17:02:16 22915 atlasprd.2817:152@[2001:718:401:6e03::1:82]
>>>>>> ofs_write: 1784104010@6506989258351653185
>>>>>> fn=/dpm/farm.particle.cz/home/atlas/atlasdatadisk/rucio/mc15_5TeV/90/9f/EVNT.18960107._035789.pool.root.1.rucio.upload
>>>>>> 190904 17:02:16 22915 atlasprd.2817:152@[2001:718:401:6e03::1:82]
>>>>>> ofs_write: 262144@262144
>>>>>> fn=/dpm/farm.particle.cz/home/atlas/atlasdatadisk/rucio/mc15_5TeV/90/9f/EVNT.18960107._035789.pool.root.1.rucio.upload
>>>>>> 190904 17:02:17 22915 atlasprd.2817:152@[2001:718:401:6e03::1:82]
>>>>>> ofs_write: 262144@524288
>>>>>> fn=/dpm/farm.particle.cz/home/atlas/atlasdatadisk/rucio/mc15_5TeV/90/9f/EVNT.18960107._035789.pool.root.1.rucio.upload
>>>>>> 190904 17:02:17 22915 atlasprd.2817:152@[2001:718:401:6e03::1:82]
>>>>>> ofs_write: 262144@786432
>>>>>> fn=/dpm/farm.particle.cz/home/atlas/atlasdatadisk/rucio/mc15_5TeV/90/9f/EVNT.18960107._035789.pool.root.1.rucio.upload
>>>>>> 190904 17:02:17 22915 atlasprd.2817:152@[2001:718:401:6e03::1:82]
>>>>>> ofs_write: 262144@1048576
>>>>>> fn=/dpm/farm.particle.cz/home/atlas/atlasdatadisk/rucio/mc15_5TeV/90/9f/EVNT.18960107._035789.pool.root.1.rucio.upload
>>>>>> 190904 17:02:17 22915 atlasprd.2817:152@[2001:718:401:6e03::1:82]
>>>>>> ofs_write: 262144@1310720
>>>>>> fn=/dpm/farm.particle.cz/home/atlas/atlasdatadisk/rucio/mc15_5TeV/90/9f/EVNT.18960107._035789.pool.root.1.rucio.upload
>>>>>> 190904 17:02:17 22915 atlasprd.2817:152@[2001:718:401:6e03::1:82]
>>>>>> ofs_write: 262144@1572864
>>>>>> fn=/dpm/farm.particle.cz/home/atlas/atlasdatadisk/rucio/mc15_5TeV/90/9f/EVNT.18960107._035789.pool.root.1.rucio.upload
>>>>>> 190904 17:02:17 22915 atlasprd.2817:152@[2001:718:401:6e03::1:82]
>>>>>> ofs_write: 262144@1835008
>>>>>> fn=/dpm/farm.particle.cz/home/atlas/atlasdatadisk/rucio/mc15_5TeV/90/9f/EVNT.18960107._035789.pool.root.1.rucio.upload
>>>>>> 190904 17:02:17 22915 atlasprd.2817:152@[2001:718:401:6e03::1:82]
>>>>>> ofs_write: 135000@2097152
>>>>>> fn=/dpm/farm.particle.cz/home/atlas/atlasdatadisk/rucio/mc15_5TeV/90/9f/EVNT.18960107._035789.pool.root.1.rucio.upload
>>>>>> 190904 17:07:32 2163 XrootdXeq:
>>>>>> atlasprd.2817:152@[2001:718:401:6e03::1:82] disc 0:05:24
>>>>>>
>>>>>> *[root@dpmpool1 ~]# ls -la
>>>>>> /mnt/fs2/atlas/2019-09-04/EVNT.18960107._035789.pool.root.1.rucio.upload.309650.1567609328*
>>>>>>
>>>>>> -rw-rw---- 1 dpmmgr dpmmgr 6506989258351919104 Sep  4 17:02
>>>>>> /mnt/fs2/atlas/2019-09-04/EVNT.18960107._035789.pool.root.1.rucio.upload.309650.1567609328
>>>>>>
>>>>>> *[root@dpmpool1 ~]# du --block-size=1
>>>>>> /mnt/fs2/atlas/2019-09-04/EVNT.18960107._035789.pool.root.1.rucio.upload.309650.1567609328*
>>>>>>
>>>>>> 2236416   
>>>>>> /mnt/fs2/atlas/2019-09-04/EVNT.18960107._035789.pool.root.1.rucio.upload.309650.1567609328
>>>>>>
>>>>>> This file has first 256kb filled with 0x00 (adler32 up to original
>>>>>> size
>>>>>> 2232152 doesn't match) and this time there is no ofs_Posc in the
>>>>>> xrootd.log file.
>>>>>>
>>>>>> Petr Vokac
>>>>>>
>>>>>> On 8/19/19 3:24 AM, Andrew Hanushevsky wrote:
>>>>>>> Hi Petr,
>>>>>>>
>>>>>>> The issue here is that the python script (I believe it's python) is
>>>>>>> disconnecting without closing the file and then reconnecting and
>>>>>>> writing at a high offset. The log is pretty clear on that. You can
>>>>>>> verify by adding "ofs.trace write" to see the write offsets
>>>>>>> (hough it
>>>>>>> will produce a lot of output). You can also prohibit reconnection by
>>>>>>> adding this to the persist directive.
>>>>>>>
>>>>>>> ofs.persist hold 0
>>>>>>>
>>>>>>> which would delete the file the moment the client disconnects
>>>>>>> without
>>>>>>> closing the file.
>>>>>>>
>>>>>>> Andy
>>>>>>>
>>>>>>> On Sat, 17 Aug 2019, Petr Vokac wrote:
>>>>>>>
>>>>>>>> Today new "65PB" file appeared on our storage and it was again
>>>>>>>> transferred with xrootd protocol. I can see again same error in
>>>>>>>> the log
>>>>>>>> file:
>>>>>>>>
>>>>>>>> **[root@dpmpool21 ~]# ls -la
>>>>>>>> /mnt/fs4/atlas/2019-08-17/EVNT.18893579._003197.pool.root.1.rucio.upload.234855.1566031522*
>>>>>>>>
>>>>>>>>
>>>>>>>> *-rw-rw---- 1 dpmmgr dpmmgr 72340172838077281 Aug 17 10:48
>>>>>>>> /mnt/fs4/atlas/2019-08-17/EVNT.18893579._003197.pool.root.1.rucio.upload.234855.1566031522
>>>>>>>>
>>>>>>>> ***[root@dpmpool21 ~]# grep atlasprd.2757
>>>>>>>> /var/log/xrootd/dpmdisk/xrootd.log*
>>>>>>>> ...
>>>>>>>> 190817 10:47:55 57803 XrootdXeq:
>>>>>>>> atlasprd.2757:65@[2001:718:401:6e03::1:43] pub IP64 login as
>>>>>>>> /DC=ch/DC=cern/OU=Organic
>>>>>>>> Units/OU=Users/CN=atlpilo1/CN=614260/CN=Robot: ATLAS Pilot1
>>>>>>>> 190817 10:47:55 61859 XrootdXeq:
>>>>>>>> atlasprd.2757:66@[2001:718:401:6e03::1:83] pub IP64 login as
>>>>>>>> /DC=ch/DC=cern/OU=Organic
>>>>>>>> Units/OU=Users/CN=atlpilo1/CN=614260/CN=Robot: ATLAS Pilot1
>>>>>>>> 190817 10:48:52 62233 XrootdXeq:
>>>>>>>> atlasprd.2757:46@[2001:718:401:6e03::1:72] disc 0:00:58
>>>>>>>> 190817 10:48:52 62954 XrootdXeq:
>>>>>>>> atlasprd.2757:25@[2001:718:401:6e03::1:72] disc 0:03:30
>>>>>>>> 190817 10:48:52 57804 XrootdXeq:
>>>>>>>> atlasprd.2757:28@[2001:718:401:6e03::1:72] pub IP64 login as
>>>>>>>> /DC=ch/DC=cern/OU=Organic
>>>>>>>> Units/OU=Users/CN=atlpilo1/CN=614260/CN=Robot: ATLAS Pilot1
>>>>>>>> 190817 10:48:52 57804 ofs_Posc: Creator changed from
>>>>>>>> atlasprd.2757:25@[2001:718:401:6e03::1:72] to
>>>>>>>> atlasprd.2757:28@[2001:718:401:6e03::1:72] for
>>>>>>>> /dpm/farm.particle.cz/home/atlas/atlasdatadisk/rucio/mc15_13TeV/8b/f3/EVNT.18893579._003197.pool.root.1.rucio.upload
>>>>>>>>
>>>>>>>> 190817 10:48:53 57803 XrootdXeq:
>>>>>>>> atlasprd.2757:46@[2001:718:401:6017:20:0:14:44] pub IP64 login as
>>>>>>>> /DC=ch/DC=cern/OU=Organic
>>>>>>>> Units/OU=Users/CN=atlpilo1/CN=614260/CN=Robot: ATLAS Pilot1
>>>>>>>> 190817 10:49:01 57818 XrootdXeq:
>>>>>>>> atlasprd.2757:70@[2001:718:401:6017:20:0:11:11] pub IP64 login as
>>>>>>>> /DC=ch/DC=cern/OU=Organic
>>>>>>>> Units/OU=Users/CN=atlpilo1/CN=614260/CN=Robot: ATLAS Pilot1
>>>>>>>> 190817 10:49:07 62954 XrootdXeq:
>>>>>>>> atlasprd.2757:55@[2001:718:401:6e03::1:81] disc 0:10:17
>>>>>>>> ...
>>>>>>>>
>>>>>>>> Any suggestion how to trace what is causing this behavior?
>>>>>>>>
>>>>>>>> Petr
>>>>>>>>
>>>>>>>>
>>>>>>>> On 7/20/19 7:48 AM, Petr Vokac wrote:
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> I ran the command you sent me
>>>>>>>>>
>>>>>>>>> grep "atlasprd.2757:" <logfile> | egrep
>>>>>>>>> '2001:718:401:6e03::1:21|2001:718:401:6e03::1:32' > <excerpt>
>>>>>>>>>
>>>>>>>>> and because the output was not just few lines long I uploaded
>>>>>>>>> it to the
>>>>>>>>>
>>>>>>>>> https://vokac.web.cern.ch/vokac/tmp/dpmpool22.xrootd.log
>>>>>>>>> https://vokac.web.cern.ch/vokac/tmp/dpmpool24.xrootd.log
>>>>>>>>>
>>>>>>>>> These machines on 2001:718:401:6e03::/64 subnet are in remote
>>>>>>>>> location
>>>>>>>>> (but relatively close with RTT ~ 0.7ms). I can see several
>>>>>>>>> ofs_Posc
>>>>>>>>> occurrences in the logs of our disknodes during "190717
>>>>>>>>> 17:xx:xx" time
>>>>>>>>> period:
>>>>>>>>>
>>>>>>>>> http://vokac.web.cern.ch/vokac/tmp/POSC.txt
>>>>>>>>>
>>>>>>>>> Petr
>>>>>>>>>
>>>>>>>>> On 7/19/19 8:51 PM, Andrew Hanushevsky wrote:
>>>>>>>>>> Hi Petr,
>>>>>>>>>>
>>>>>>>>>> Well, POSC says that the client reconnected for writing so not
>>>>>>>>>> all
>>>>>>>>>> went well. Can I get the log output for that occurrence as I
>>>>>>>>>> previously described?
>>>>>>>>>>
>>>>>>>>>> Andy
>>>>>>>>>>
>>>>>>>>>> On Fri, 19 Jul 2019, Petr Vokac wrote:
>>>>>>>>>>
>>>>>>>>>>> We are using Rucio download client to transfer job outputs
>>>>>>>>>>> (it is
>>>>>>>>>>> build
>>>>>>>>>>> on top of gfal2 python interface).
>>>>>>>>>>>
>>>>>>>>>>> https://vokac.web.cern.ch/vokac/tmp/dpmpool22.xrootd.log
>>>>>>>>>>> https://vokac.web.cern.ch/vokac/tmp/dpmpool24.xrootd.log
>>>>>>>>>>>
>>>>>>>>>>> this is the full job output unfortunately with minimal gfal2
>>>>>>>>>>> logging
>>>>>>>>>>> output.
>>>>>>>>>>>
>>>>>>>>>>> https://vokac.web.cern.ch/vokac/tmp/grid.2258136.4.out-from-2001:718:401:6e03::1:21-to-dpmpool22.txt
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> https://vokac.web.cern.ch/vokac/tmp/grid.2255921.7.out-from-2001:718:401:6e03::1:32-to-dpmpool24.txt
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> It looks like according gfal2 transfer was OK
>>>>>>>>>>>
>>>>>>>>>>> 2019-07-17 15:09:17,782 | INFO     | copytool_out        |
>>>>>>>>>>> gfal2                            | connect                   |
>>>>>>>>>>> [gfal_module_load] plugin
>>>>>>>>>>> /usr/lib64/gfal2-plugins//libgfal_plugin_xrootd.so loaded with
>>>>>>>>>>> success
>>>>>>>>>>> 2019-07-17 15:09:17,782 | INFO     | copytool_out        |
>>>>>>>>>>> gfal2                            | connect                   |
>>>>>>>>>>> [gfal_module_load] plugin
>>>>>>>>>>> /usr/lib64/gfal2-plugins//libgfal_plugin_rfio.so loaded with
>>>>>>>>>>> success
>>>>>>>>>>> 2019-07-17 15:09:17,783 | INFO     | copytool_out        |
>>>>>>>>>>> gfal2                            | connect                   |
>>>>>>>>>>> [gfal_module_load] plugin
>>>>>>>>>>> /usr/lib64/gfal2-plugins//libgfal_plugin_gridftp.so loaded with
>>>>>>>>>>> success
>>>>>>>>>>> 2019-07-17 15:09:17,783 | INFO     | copytool_out        |
>>>>>>>>>>> gfal2                            | connect                   |
>>>>>>>>>>> [gfal_module_load] plugin
>>>>>>>>>>> /usr/lib64/gfal2-plugins//libgfal_plugin_http.so loaded with
>>>>>>>>>>> success
>>>>>>>>>>> 2019-07-17 15:09:17,783 | INFO     | copytool_out        |
>>>>>>>>>>> gfal2                            | connect                   |
>>>>>>>>>>> [gfal_module_load] plugin
>>>>>>>>>>> /usr/lib64/gfal2-plugins//libgfal_plugin_lfc.so loaded with
>>>>>>>>>>> success
>>>>>>>>>>> 2019-07-17 15:09:17,783 | INFO     | copytool_out        |
>>>>>>>>>>> gfal2                            | connect                   |
>>>>>>>>>>> [gfal_module_load] plugin
>>>>>>>>>>> /usr/lib64/gfal2-plugins//libgfal_plugin_file.so loaded with
>>>>>>>>>>> success
>>>>>>>>>>> 2019-07-17 15:09:17,784 | INFO     | copytool_out        |
>>>>>>>>>>> gfal2                            | connect                   |
>>>>>>>>>>> [gfal_module_load] plugin
>>>>>>>>>>> /usr/lib64/gfal2-plugins//libgfal_plugin_sftp.so loaded with
>>>>>>>>>>> success
>>>>>>>>>>> 2019-07-17 15:09:17,784 | INFO     | copytool_out        |
>>>>>>>>>>> gfal2                            | connect                   |
>>>>>>>>>>> [gfal_module_load] plugin
>>>>>>>>>>> /usr/lib64/gfal2-plugins//libgfal_plugin_dcap.so loaded with
>>>>>>>>>>> success
>>>>>>>>>>> 2019-07-17 15:09:17,784 | INFO     | copytool_out        |
>>>>>>>>>>> gfal2                            | connect                   |
>>>>>>>>>>> [gfal_module_load] plugin
>>>>>>>>>>> /usr/lib64/gfal2-plugins//libgfal_plugin_srm.so loaded with
>>>>>>>>>>> success
>>>>>>>>>>> 2019-07-17 15:09:17,793 | INFO     | copytool_out        |
>>>>>>>>>>> gfal2                            | connect                   |
>>>>>>>>>>> [gfal_module_load] plugin
>>>>>>>>>>> /usr/lib64/gfal2-plugins//libgfal_plugin_xrootd.so loaded with
>>>>>>>>>>> success
>>>>>>>>>>> 2019-07-17 15:09:17,793 | INFO     | copytool_out        |
>>>>>>>>>>> gfal2                            | connect                   |
>>>>>>>>>>> [gfal_module_load] plugin
>>>>>>>>>>> /usr/lib64/gfal2-plugins//libgfal_plugin_rfio.so loaded with
>>>>>>>>>>> success
>>>>>>>>>>> 2019-07-17 15:09:17,793 | INFO     | copytool_out        |
>>>>>>>>>>> gfal2                            | connect                   |
>>>>>>>>>>> [gfal_module_load] plugin
>>>>>>>>>>> /usr/lib64/gfal2-plugins//libgfal_plugin_gridftp.so loaded with
>>>>>>>>>>> success
>>>>>>>>>>> 2019-07-17 15:09:17,794 | INFO     | copytool_out        |
>>>>>>>>>>> gfal2                            | connect                   |
>>>>>>>>>>> [gfal_module_load] plugin
>>>>>>>>>>> /usr/lib64/gfal2-plugins//libgfal_plugin_http.so loaded with
>>>>>>>>>>> success
>>>>>>>>>>> 2019-07-17 15:09:17,794 | INFO     | copytool_out        |
>>>>>>>>>>> gfal2                            | connect                   |
>>>>>>>>>>> [gfal_module_load] plugin
>>>>>>>>>>> /usr/lib64/gfal2-plugins//libgfal_plugin_lfc.so loaded with
>>>>>>>>>>> success
>>>>>>>>>>> 2019-07-17 15:09:17,794 | INFO     | copytool_out        |
>>>>>>>>>>> gfal2                            | connect                   |
>>>>>>>>>>> [gfal_module_load] plugin
>>>>>>>>>>> /usr/lib64/gfal2-plugins//libgfal_plugin_file.so loaded with
>>>>>>>>>>> success
>>>>>>>>>>> 2019-07-17 15:09:17,794 | INFO     | copytool_out        |
>>>>>>>>>>> gfal2                            | connect                   |
>>>>>>>>>>> [gfal_module_load] plugin
>>>>>>>>>>> /usr/lib64/gfal2-plugins//libgfal_plugin_sftp.so loaded with
>>>>>>>>>>> success
>>>>>>>>>>> 2019-07-17 15:09:17,794 | INFO     | copytool_out        |
>>>>>>>>>>> gfal2                            | connect                   |
>>>>>>>>>>> [gfal_module_load] plugin
>>>>>>>>>>> /usr/lib64/gfal2-plugins//libgfal_plugin_dcap.so loaded with
>>>>>>>>>>> success
>>>>>>>>>>> 2019-07-17 15:09:17,794 | INFO     | copytool_out        |
>>>>>>>>>>> gfal2                            | connect                   |
>>>>>>>>>>> [gfal_module_load] plugin
>>>>>>>>>>> /usr/lib64/gfal2-plugins//libgfal_plugin_srm.so loaded with
>>>>>>>>>>> success
>>>>>>>>>>> 2019-07-17 15:09:17,795 | INFO     | copytool_out        |
>>>>>>>>>>> gfal2                            | connect                   |
>>>>>>>>>>> [gfal_module_load] plugin
>>>>>>>>>>> /usr/lib64/gfal2-plugins//libgfal_plugin_xrootd.so loaded with
>>>>>>>>>>> success
>>>>>>>>>>> 2019-07-17 15:09:17,795 | INFO     | copytool_out        |
>>>>>>>>>>> gfal2                            | connect                   |
>>>>>>>>>>> [gfal_module_load] plugin
>>>>>>>>>>> /usr/lib64/gfal2-plugins//libgfal_plugin_rfio.so loaded with
>>>>>>>>>>> success
>>>>>>>>>>> 2019-07-17 15:09:17,795 | INFO     | copytool_out        |
>>>>>>>>>>> gfal2                            | connect                   |
>>>>>>>>>>> [gfal_module_load] plugin
>>>>>>>>>>> /usr/lib64/gfal2-plugins//libgfal_plugin_gridftp.so loaded with
>>>>>>>>>>> success
>>>>>>>>>>> 2019-07-17 15:09:17,795 | INFO     | copytool_out        |
>>>>>>>>>>> gfal2                            | connect                   |
>>>>>>>>>>> [gfal_module_load] plugin
>>>>>>>>>>> /usr/lib64/gfal2-plugins//libgfal_plugin_http.so loaded with
>>>>>>>>>>> success
>>>>>>>>>>> 2019-07-17 15:09:17,796 | INFO     | copytool_out        |
>>>>>>>>>>> gfal2                            | connect                   |
>>>>>>>>>>> [gfal_module_load] plugin
>>>>>>>>>>> /usr/lib64/gfal2-plugins//libgfal_plugin_lfc.so loaded with
>>>>>>>>>>> success
>>>>>>>>>>> 2019-07-17 15:09:17,796 | INFO     | copytool_out        |
>>>>>>>>>>> gfal2                            | connect                   |
>>>>>>>>>>> [gfal_module_load] plugin
>>>>>>>>>>> /usr/lib64/gfal2-plugins//libgfal_plugin_file.so loaded with
>>>>>>>>>>> success
>>>>>>>>>>> 2019-07-17 15:09:17,796 | INFO     | copytool_out        |
>>>>>>>>>>> gfal2                            | connect                   |
>>>>>>>>>>> [gfal_module_load] plugin
>>>>>>>>>>> /usr/lib64/gfal2-plugins//libgfal_plugin_sftp.so loaded with
>>>>>>>>>>> success
>>>>>>>>>>> 2019-07-17 15:09:17,796 | INFO     | copytool_out        |
>>>>>>>>>>> gfal2                            | connect                   |
>>>>>>>>>>> [gfal_module_load] plugin
>>>>>>>>>>> /usr/lib64/gfal2-plugins//libgfal_plugin_dcap.so loaded with
>>>>>>>>>>> success
>>>>>>>>>>> 2019-07-17 15:09:17,796 | INFO     | copytool_out        |
>>>>>>>>>>> gfal2                            | connect                   |
>>>>>>>>>>> [gfal_module_load] plugin
>>>>>>>>>>> /usr/lib64/gfal2-plugins//libgfal_plugin_srm.so loaded with
>>>>>>>>>>> success
>>>>>>>>>>> 2019-07-17 15:09:17,810 | INFO     | copytool_out        |
>>>>>>>>>>> gfal2                            | __gfal2_copy             
>>>>>>>>>>> | Event
>>>>>>>>>>> triggered: BOTH GFAL2:CORE:COPY LIST:ENTER
>>>>>>>>>>> 2019-07-17 15:09:17,810 | INFO     | copytool_out        |
>>>>>>>>>>> gfal2                            | __gfal2_copy             
>>>>>>>>>>> | Event
>>>>>>>>>>> triggered: BOTH GFAL2:CORE:COPY LIST:ITEM
>>>>>>>>>>> file:///scratch/condor/dir_24031/atlas_HudmF2he/PanDA_Pilot-4419868006/log.18636890._001059.job.log.tgz.1
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> =>
>>>>>>>>>>> root://golias100.farm.particle.cz:1094//dpm/farm.particle.cz/home/atlas/atlasdatadisk/rucio/mc15_13TeV/26/98/log.18636890._001059.job.log.tgz.1.rucio.upload
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 2019-07-17 15:09:17,810 | INFO     | copytool_out        |
>>>>>>>>>>> gfal2                            | __gfal2_copy             
>>>>>>>>>>> | Event
>>>>>>>>>>> triggered: BOTH GFAL2:CORE:COPY LIST:EXIT
>>>>>>>>>>> 2019-07-17 15:09:17,811 | INFO     | Dummy-2             |
>>>>>>>>>>> gfal2                            | (unknown function)       
>>>>>>>>>>> | Event
>>>>>>>>>>> triggered: BOTH xroot TRANSFER:ENTER
>>>>>>>>>>> file://localhost///scratch/condor/dir_24031/atlas_HudmF2he/PanDA_Pilot-4419868006/log.18636890._001059.job.log.tgz.1?xrd.gsiusrpxy=/scratch/condor/dir_24031/job.9XONDm6yx7unnoBGSqYX2MjnABFKDmABFKDmSyhTDmEBFKDmqAGN3n.proxy&xrd.wantprot=gsi,unix
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> =>
>>>>>>>>>>> root://golias100.farm.particle.cz:1094///dpm/farm.particle.cz/home/atlas/atlasdatadisk/rucio/mc15_13TeV/26/98/log.18636890._001059.job.log.tgz.1.rucio.upload?xrd.gsiusrpxy=/scratch/condor/dir_24031/job.9XONDm6yx7unnoBGSqYX2MjnABFKDmABFKDmSyhTDmEBFKDmqAGN3n.proxy&x
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 2019-07-17 15:09:17,811 | INFO     | Dummy-2             |
>>>>>>>>>>> gfal2                            | (unknown function)       
>>>>>>>>>>> | Event
>>>>>>>>>>> triggered: BOTH xroot TRANSFER:TYPE streamed
>>>>>>>>>>> 2019-07-17 15:11:23,914 | INFO     | Dummy-2             |
>>>>>>>>>>> gfal2                            | (unknown function)       
>>>>>>>>>>> | Event
>>>>>>>>>>> triggered: BOTH xroot TRANSFER:EXIT Job finished, [SUCCESS]
>>>>>>>>>>>
>>>>>>>>>>> but probably rucio tries to verify checksum (gfal-sum via python
>>>>>>>>>>> bindings) and it fails
>>>>>>>>>>>
>>>>>>>>>>> 2019-07-17 15:15:23,774 | INFO     | copytool_out        |
>>>>>>>>>>> pilot.copytool.rucio             | copy_out                  |
>>>>>>>>>>> stderr = An unknown exception occurred.
>>>>>>>>>>> Details: Checksum not validated
>>>>>>>>>>>
>>>>>>>>>>> because DPM is unable to calculate checksum for 128TB file
>>>>>>>>>>> within
>>>>>>>>>>> timeout.
>>>>>>>>>>>
>>>>>>>>>>> Petr
>>>>>>>>>>>
>>>>>>>>>>> On 7/19/19 5:07 AM, Andrew Hanushevsky wrote:
>>>>>>>>>>>> Hi Petr,
>>>>>>>>>>>>
>>>>>>>>>>>> Indeed, it looks like what was used to upload the files
>>>>>>>>>>>> (xrdcp?)
>>>>>>>>>>>> created a very large sparse file by writing with a very large
>>>>>>>>>>>> offset.
>>>>>>>>>>>> The clue here is that an anomaly occurred during the write
>>>>>>>>>>>> and these
>>>>>>>>>>>> two messages (lkely each corresponding to each file) tell us
>>>>>>>>>>>> something....
>>>>>>>>>>>>
>>>>>>>>>>>>> 190717 17:10:39 332092 ofs_Posc: Creator changed from
>>>>>>>>>>>>    atlasprd.2757:90@[2001:718:401:6e03::1:21] to
>>>>>>>>>>>>    atlasprd.2757:39@[2001:718:401:6e03::1:21] for
>>>>>>>>>>>>  
>>>>>>>>>>>> /dpm/farm.particle.cz/home/atlas/atlasdatadisk/rucio/mc15_13TeV/26/98/
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>    log.18636890._001059.job.log.tgz.1.rucio.upload
>>>>>>>>>>>>
>>>>>>>>>>>>> 190717 17:29:26 14204 ofs_Posc: Creator changed from
>>>>>>>>>>>>    atlasprd.2757:33@[2001:718:401:6e03::1:32] to
>>>>>>>>>>>>    atlasprd.2757:95@[2001:718:401:6e03::1:32] for
>>>>>>>>>>>>  
>>>>>>>>>>>> /dpm/farm.particle.cz/home/atlas/atlasdatadisk/rucio/mc16_5TeV/09/bc/
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>    AOD.18595963._000786.pool.root.1.rucio.upload
>>>>>>>>>>>>
>>>>>>>>>>>> What the POSC system is saying is that in each case the
>>>>>>>>>>>> original
>>>>>>>>>>>> creator of the file lost contact with the server. It then
>>>>>>>>>>>> reconnected
>>>>>>>>>>>> and resumed writing with a successful close. POSC allows
>>>>>>>>>>>> this to
>>>>>>>>>>>> avoid
>>>>>>>>>>>> network glitches from deleting a file because a network
>>>>>>>>>>>> glitch will
>>>>>>>>>>>> cause the client to reconnect and resume where it left off.
>>>>>>>>>>>> This is
>>>>>>>>>>>> only allowed when the resuming client comes from the same IP
>>>>>>>>>>>> address,
>>>>>>>>>>>> has the same process ID, and the same logical name. In this
>>>>>>>>>>>> case it
>>>>>>>>>>>> was "atlasprd.2757". I find that rather odd because it's
>>>>>>>>>>>> next to
>>>>>>>>>>>> impossible for two processes on two different machines to
>>>>>>>>>>>> have the
>>>>>>>>>>>> same process number (i.e. 2757). So, this is why I am
>>>>>>>>>>>> wondering if
>>>>>>>>>>>> this was really an xrdcp or some other program.
>>>>>>>>>>>>
>>>>>>>>>>>> We should look to see what these client were actually doing
>>>>>>>>>>>> during
>>>>>>>>>>>> this period as they clearly did not do the right thing when
>>>>>>>>>>>> they
>>>>>>>>>>>> reconnected. So, could you grep out all interactions of
>>>>>>>>>>>> these two
>>>>>>>>>>>> client from the log. Something like:
>>>>>>>>>>>>
>>>>>>>>>>>> grep "atlasprd.2757:" <logfile> | egrep
>>>>>>>>>>>> '2001:718:401:6e03::1:21|2001:718:401:6e03::1:32' > <excerpt>
>>>>>>>>>>>>
>>>>>>>>>>>> and send the excerpt to me?
>>>>>>>>>>>>
>>>>>>>>>>>> Andy
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Thu, 18 Jul 2019, Petr Vokac wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>
>>>>>>>>>>>>> our DPM which is using native xrootd 4.9.1 yesterday
>>>>>>>>>>>>> created two
>>>>>>>>>>>>> different 128TB files on two different diskservers that were
>>>>>>>>>>>>> received as
>>>>>>>>>>>>> a job output from two different worker nodes. The size of
>>>>>>>>>>>>> original
>>>>>>>>>>>>> file
>>>>>>>>>>>>> was few megabytes and when I check beginning of stored
>>>>>>>>>>>>> files up to
>>>>>>>>>>>>> original size & checksum everything seems to be OK - except
>>>>>>>>>>>>> these are
>>>>>>>>>>>>> sparse files with size 128TB. Original transferred files
>>>>>>>>>>>>> from WN
>>>>>>>>>>>>> looked
>>>>>>>>>>>>> like:
>>>>>>>>>>>>>
>>>>>>>>>>>>> mc15_13TeV:log.18636890._001059.job.log.tgz.1 - original size
>>>>>>>>>>>>> 3101899, adler32 742e1336
>>>>>>>>>>>>> mc16_5TeV:AOD.18595963._000786.pool.root.1 - original size
>>>>>>>>>>>>> 737474514,
>>>>>>>>>>>>> adler32 dc68cb21
>>>>>>>>>>>>>
>>>>>>>>>>>>> but on our diskservers they were stored as
>>>>>>>>>>>>>
>>>>>>>>>>>>> [root@dpmpool22 ~]# ls -l
>>>>>>>>>>>>> /mnt/fs1/atlas/2019-07-17/log.18636890._001059.job.log.tgz.1.rucio.upload.209928.1563376157
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> -rw-rw---- 1 dpmmgr dpmmgr 140560257079236 Jul 17 17:11
>>>>>>>>>>>>> /mnt/fs1/atlas/2019-07-17/log.18636890._001059.job.log.tgz.1.rucio.upload.209928.1563376157
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> [root@dpmpool22 ~]# du --block-size=1
>>>>>>>>>>>>> /mnt/fs1/atlas/2019-07-17/log.18636890._001059.job.log.tgz.1.rucio.upload.209928.1563376157
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> 3108864
>>>>>>>>>>>>> /mnt/fs1/atlas/2019-07-17/log.18636890._001059.job.log.tgz.1.rucio.upload.209928.1563376157
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> [root@dpmpool24 ~]# ls -l
>>>>>>>>>>>>> /mnt/fs2/atlas/2019-07-17/AOD.18595963._000786.pool.root.1.rucio.upload.210480.1563377083
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> -rw-rw---- 1 dpmmgr dpmmgr 139734345056408 Jul 17 17:31
>>>>>>>>>>>>> /mnt/fs2/atlas/2019-07-17/AOD.18595963._000786.pool.root.1.rucio.upload.210480.1563377083
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> [root@dpmpool24 tmp]# du --block-size=1
>>>>>>>>>>>>> /mnt/fs2/atlas/2019-07-17/AOD.18595963._000786.pool.root.1.rucio.upload.210480.1563377083
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> 737480704
>>>>>>>>>>>>> /mnt/fs2/atlas/2019-07-17/AOD.18595963._000786.pool.root.1.rucio.upload.210480.1563377083
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> I was told that DPM is not really involved in transfering /
>>>>>>>>>>>>> storing
>>>>>>>>>>>>> files with xrootd protocol, so I guess something bad must
>>>>>>>>>>>>> happened
>>>>>>>>>>>>> inside XRootD libraries. Do you have any idea why these two
>>>>>>>>>>>>> transfers
>>>>>>>>>>>>> generated such extreme files? Unfortunately our xrootd
>>>>>>>>>>>>> logging is
>>>>>>>>>>>>> pretty
>>>>>>>>>>>>> low and I was able to find only info about file creation
>>>>>>>>>>>>>
>>>>>>>>>>>>> [root@dpmpool22 ~]# grep log.18636890._001059.job.log.tgz
>>>>>>>>>>>>> /var/log/xrootd/dpmdisk/xrootd.log
>>>>>>>>>>>>> 190717 17:10:39 332092 ofs_Posc: Creator changed from
>>>>>>>>>>>>    atlasprd.2757:90@[2001:718:401:6e03::1:21] to
>>>>>>>>>>>>    atlasprd.2757:39@[2001:718:401:6e03::1:21] for
>>>>>>>>>>>>  
>>>>>>>>>>>> /dpm/farm.particle.cz/home/atlas/atlasdatadisk/rucio/mc15_13TeV/26/98/
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>    log.18636890._001059.job.log.tgz.1.rucio.upload
>>>>>>>>>>>>> [root@dpmpool24 tmp]# grep AOD.18595963._000786.pool.root
>>>>>>>>>>>>> /var/log/xrootd/dpmdisk/xrootd.log
>>>>>>>>>>>>> 190717 17:29:26 14204 ofs_Posc: Creator changed from
>>>>>>>>>>>>    atlasprd.2757:33@[2001:718:401:6e03::1:32] to
>>>>>>>>>>>>    atlasprd.2757:95@[2001:718:401:6e03::1:32] for
>>>>>>>>>>>>  
>>>>>>>>>>>> /dpm/farm.particle.cz/home/atlas/atlasdatadisk/rucio/mc16_5TeV/09/bc/AOD.18595963.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>    _000786.pool.root.1.rucio.upload
>>>>>>>>>>>>> Petr
>>>>>>>>>>>>>
>>>>>>>>>>>>> ########################################################################
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Use REPLY-ALL to reply to list
>>>>>>>>>>>>>
>>>>>>>>>>>>> To unsubscribe from the XROOTD-L list, click the following
>>>>>>>>>>>>> link:
>>>>>>>>>>>>> https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-L&A=1
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>> ########################################################################
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Use REPLY-ALL to reply to list
>>>>>>>>>>>>
>>>>>>>>>>>> To unsubscribe from the XROOTD-L list, click the following
>>>>>>>>>>>> link:
>>>>>>>>>>>> https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-L&A=1
>>>>>>>>>>>>
>>>>>>>>>> ########################################################################
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Use REPLY-ALL to reply to list
>>>>>>>>>>
>>>>>>>>>> To unsubscribe from the XROOTD-L list, click the following link:
>>>>>>>>>> https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-L&A=1
>>>>>>>>> ------------------------------------------------------------------------
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Use REPLY-ALL to reply to list
>>>>>>>>>
>>>>>>>>> To unsubscribe from the XROOTD-L list, click the following link:
>>>>>>>>> https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-L&A=1
>>>>>>>>>
>>>>>> ------------------------------------------------------------------------
>>>>>>
>>>>>>
>>>>>> Use REPLY-ALL to reply to list
>>>>>>
>>>>>> To unsubscribe from the XROOTD-L list, click the following link:
>>>>>> https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-L&A=1
>>>>>>
>> ########################################################################
>> Use REPLY-ALL to reply to list
>>
>> To unsubscribe from the XROOTD-L list, click the following link:
>> https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-L&A=1
> ########################################################################
> Use REPLY-ALL to reply to list
>
> To unsubscribe from the XROOTD-L list, click the following link:
> https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-L&A=1


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

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