Print

Print


Hi Adrian,

Removing the spaces before and after the actual URL will do the trick ;-)

So

   <url><![CDATA[root://host//long_url_with_alice_token_and_other_staff]]></url>

and not

  <url><![CDATA[ root://host//long_url_with_alice_token_and_other_staff ]]></url>

Cheers,
Michal

________________________________________
From: Adrian Sevcenco
Sent: 01 April 2019 17:07
To: Michal Kamil Simon; [log in to unmask]
Subject: Re: xrootd python :: CopyProcess - stop the queue if a job succeed

On 4/1/19 5:17 PM, Michal Kamil Simon wrote:
> Hi Adrian,
Hi!

> Regarding the parsing problem of your URLs, it's not a
> problem of our implementation. As a metalink is basically
> an xml file you simply need to escape certain characters
> or you need to use CDATA.
>
> Try something like:
>
> <url><*![CDATA[* /your URL with alice token/ *]]>*</url>
well, i tried :( see
https://sev.spacescience.ro/adrian/meta/alice_cern.ch_user_a_asevcenc_testfile.meta4

but i get :
xrdcp -N -p -P -f -v alice_cern.ch_user_a_asevcenc_testfile.meta4 testfile_downloaded.txt
Prepare: [ERROR] Received corrupted data: Malformed or corrupted metalink file.

> in your metalink file (it did work for me ;-)
so, what am i missing?

Thanks a lot!
Adrian


>
> Cheers,
> Michal
> ________________________________________
> From: Adrian Sevcenco
> Sent: 01 April 2019 15:30
> To: Michal Kamil Simon; [log in to unmask]
> Subject: Re: xrootd python :: CopyProcess - stop the queue if a job succeed
>
> On 4/1/19 4:12 PM, Michal Kamil Simon wrote:
> > Hi Adrian,
> >
> > You cannot use a metalink as a destination, but you can use
> yeah, i know that :P
>
> > a metalink as a source for a remote destination ;-)
> this the concept that i did not thought about :)
>
> Thanks!
> Adrian
>
>
> >
> > Cheers,
> > Michal
> > ________________________________________
> > From: Adrian Sevcenco
> > Sent: 01 April 2019 15:02
> > To: Michal Kamil Simon; [log in to unmask]
> > Subject: Re: xrootd python :: CopyProcess - stop the queue if a job succeed
> >
> > On 4/1/19 3:20 PM, Michal Kamil Simon wrote:
> >> Hi Adrian,
> >>
> >> The name attribute specifies the destination file name
> >> (or a relative path to the file as in the example), however keep
> >> in mind that the destination might be remote.
> > hmmm, i thought that metalink files are only for download
> >
> >> To give you an example:
> >>
> >> / xrdcp input.meta4 root://hostname//path/dir/
> >>
> >> and say the name attribute is /subdir/file.txt/
> >>
> >> the effective destination will be:
> >> /root://hostname//path/dir/subdir/file.txt/
> >>
> >> however if you overwrite the destination file name in /xrdcp/ command
> >> line, e.g.:
> >>
> >> xrdcp input.meta4 /root://hostname//path/dir/file.txt/
> >>
> >> the name attribute will be ignored.
> >>
> >> Hope this makes it more clear :-)
> > yeah, i just ignored the fact that it can be used with remote destinations
> >
> > well, thanks for info :)
> > looking forward for the fix :)
> >
> > Thanks a lot!
> > Adrian
> >
> >
> >>
> >> Cheers,
> >> Michal
> >> ________________________________________
> >> From: Adrian Sevcenco
> >> Sent: 01 April 2019 13:22
> >> To: Michal Kamil Simon; [log in to unmask]
> >> Subject: Re: xrootd python :: CopyProcess - stop the queue if a job succeed
> >>
> >> On 4/1/19 1:10 PM, Michal Kamil Simon wrote:
> >> > Hi Adrian,
> >> Hi!
> >>
> >> > Thanks for providing an example metalink, indeed
> >> > it seems there is a problem with parsing a metalink
> >> > that contains urls with alice tokens. I'll provide a fix for
> >> > that.
> >> Thanks a lot!!
> >>
> >> > Regarding the destination, you are suppose to specify
> >> > possible sources in the metalink, but it must not contain
> >> > the destination, which has to be specified as for any other
> >> > copy job.
> >> well, https://tools.ietf.org/html/rfc5854#section-4.1.2.1
> >> metalink:file elements MUST have a "name" attribute, which contains
> >> the local file name to which the downloaded file will be written.
> >>
> >> This is why i said that destination should not be required...
> >> but of course is not hard for me to take care to use the same destination
> >> file as it is written in the meta4 file
> >>
> >> Thanks a lot!
> >> Adrian
> >>
> >>
> >> >
> >> > Cheers,
> >> > Michal
> >> > ________________________________________
> >> > From: Adrian Sevcenco
> >> > Sent: 31 March 2019 00:09
> >> > To: Michal Kamil Simon; [log in to unmask]
> >> > Subject: Re: xrootd python :: CopyProcess - stop the queue if a job succeed
> >> >
> >> > On 3/28/19 5:31 PM, Michal Kamil Simon wrote:
> >> >> Hi Adrian,
> >> > Hi Michal!
> >> >
> >> >> If (for now) you simply want to download a file having different
> >> >> replicas (with
> >> >> different names, etc.) a metalink is what you need. Have a look at:
> >> > cool! it is perfect for my need
> >> >
> >> >> https://en.wikipedia.org/wiki/Metalink#Example_Metalink_4.0_.meta4_file
> >> >>
> >> >> you can create a metalink containing different URLs and assign priorities
> >> >> to them. You could e.g. generate the metalink from python and then use a
> >> >> local metalink as source in the CopyProcess.
> >> >>
> >> >> Once we release 4.9.1 you will be also able to do a multi-source download
> >> >> using a metalink.
> >> >>
> >> >> However, this wont work for uploads.
> >> > of course!
> >> >
> >> > I made one for testing,
> >> > https://sev.spacescience.ro/adrian/meta/alice_cern.ch_user_a_asevcenc_testfile.meta4
> >> >
> >> > but it seems that there are problems :
> >> > 1. the url part is not parsed properly
> >> >
> >> > 2. the usage require a destination (but that is required and included in
> >> > the metalink) - so maybe if the source is meta4 the destination is taken
> >> > from the meta file and no longer required in cli?
> >> >
> >> > I am sure that there is a problem with the url parsing because the same
> >> > url works for a normal add_job copy request
> >> >
> >> > Additional question for when it will be working :
> >> > for the python part - add_Job, will take as source this .meta4 file?
> >> >
> >> > Thank you!!
> >> > Adrian
> >> >
> >> >>
> >> >> Cheers,
> >> >> Michal
> >> >> ________________________________________
> >> >> From: Adrian Sevcenco
> >> >> Sent: 28 March 2019 16:03
> >> >> To: Michal Kamil Simon; [log in to unmask]
> >> >> Subject: Re: xrootd python :: CopyProcess - stop the queue if a job succeed
> >> >>
> >> >> On 3/28/19 4:35 PM, Michal Kamil Simon wrote:
> >> >> > Hi Adrian,
> >> >> Hi!
> >> >>
> >> >> > My impression (correct me if I'm wrong) is that you are trying to do
> >> >> a multi-source transfer,
> >> >> > right?
> >> >> well, that would have been the optimal result, but at this moment i was
> >> >> just trying
> >> >> to download a file while trying all replicas
> >> >>
> >> >> > If so, you need to specify in the CopyProcess the sourceLimit, and as
> >> >> a source you need
> >> >> > to specify a metalink containing all the replicas, or a manager (in
> >> >> this case the client will
> >> >> > figure out what the replicas are by itself by using locate).
> >> >> my case is a little special ... the same file have multiple replicas
> >> >> that have _different_ physical names
> >> >> and authz envelopes ...
> >> >> as a client i have all required info.. i know for my logical file name
> >> >> /alice/cern.ch/user/a/asevcenc/testfile
> >> >> that the actual links are :
> >> >> root://eosalice.cern.ch:1094//06/17419/a7f1c690-4e49-11e9-8a64-0242266c4d21?_LONG_STRING_OF_OPTIONS_
> >> >> and
> >> >> root://ipngridxrd0.in2p3.fr:1094//06/17419/a7f1c690-4e49-11e9-8a64-0242266c4d21?_LONG_STRING_OF_OPTIONS_
> >> >>
> >> >> how can i create/what is the format of a metalink?
> >> >> can i somehow put toghether the remote links from above?
> >> >>
> >> >> would the same mechanism work for upload?
> >> >>
> >> >> > I just pushed a patch for the client that is enabling multi-source
> >> >> download in python bindings
> >> >> > (63e9604) and will port it for 4.9.1.
> >> >> great! thanks a lot!!!
> >> >>
> >> >> Adrian
> >> >>
> >> >>
> >> >> >
> >> >> > Cheers,
> >> >> > Michal
> >> >> > ________________________________________
> >> >> > From: [log in to unmask] [[log in to unmask]] on
> >> >> behalf of Adrian Sevcenco [[log in to unmask]]
> >> >> > Sent: 28 March 2019 14:22
> >> >> > To: [log in to unmask]
> >> >> > Subject: xrootd python :: CopyProcess - stop the queue if a job succeed
> >> >> >
> >> >> > Hi! In my use case (ALICE), to download a file, i get all replicas
> >> >> > and i add them as copy jobs to a CopyProcess ..
> >> >> > I would like to stop the CopyProcess when a job is succesful ..
> >> >> > Is there a way to do this?
> >> >> > Maybe in MyCopyProgressHandler.end() to check if results['status'] have
> >> >> > a "status: 0" and cancel all CopyProcess?
> >> >> > Is there a way to stop a CopyProcess? or other way to take into
> >> >> account the posibility
> >> >> > of multiple replicas?
> >> >> >
> >> >> > Thank you!
> >> >> > Adrian
> >> >> >
> >> >> >
> >> >> > ########################################################################
> >> >> > 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