Hi Adrian, Could you try adding the xrdcl.unzip=AliAOD.root cgi to the original metalink URL, like: file://localhost/home/adrian/tmp/_alice_data_2018_LHC18m_000291397_pass1_withTRDtracking_AOD208_0884_AliAOD.root.meta4?xrdcl.unzip=AliAOD.root (it seems that there's a friction between the metalink handling and zip archive handling) Cheers, Michal ________________________________________ From: Adrian Sevcenco Sent: 06 September 2019 16:30 To: Michal Kamil Simon; [log in to unmask] Subject: Re: python :: cp process fails when it shouldn't (another utility can download file) Hi Michal! On 9/2/19 5:52 PM, Michal Kamil Simon wrote: > Yep, it looks about right :-) so, i use ?xrdcl.unzip=AliAOD.root&authz=TOKEN format but it seems that the zipfile is downloaded instead of file extracted from archive... the detailed log is here: https://cernbox.cern.ch/index.php/s/JNaLKsaC5pyrhMP do you have any idea/hint why the file is not extracted? Thanks a lot!! Adrian > > Michal > ________________________________________ > From: Adrian Sevcenco > Sent: 02 September 2019 16:46 > To: Michal Kamil Simon; [log in to unmask] > Subject: Re: python :: cp process fails when it shouldn't (another utility can download file) > > On 9/2/19 5:29 PM, Michal Kamil Simon wrote: >> Hi Adrian, > Hi! > >> You can replace the '#' with '?xrdcl.unzip=' however you have to make >> sure that if the URL >> already contains a CGI you have to replace the following '?' with '&', >> e.g. : >> >> root://eosalice.cern.ch:1094//15/62933/56da6906-9149-11e7-ba1b-579516ed5c66*#*AliAOD.root*?*authz=LONG_ALICE_TOKEN >> >> gets transformed into: >> >> root://eosalice.cern.ch:1094//15/62933/56da6906-9149-11e7-ba1b-579516ed5c66*?xrdcl.unzip=*AliAOD.root*&*authz=LONG_ALICE_TOKEN > > yeap, is doable as the full url (physical url + token) is constructed by > me... so i can do something like : > > pfn_components = pfn.split('#') # i have the guarantee that the files > that ALICE uploads have no # in name > > if len(pfn_components) > 1: > full_url = pfn + '?xrdcl.unzip=' + pfn_components[1] + > '&authz=LONG_ALICE_TOKEN' > else: > full_url = pfn + '?authz=LONG_ALICE_TOKEN' > > Does it sound right? > Thanks a lot for help!! > Adrian > > > >> >> >> >> Regarding the /CopyProcess.add_job(...)/ method I could add parameters >> that will allow >> to specify the file name for extraction from zip archive. >> >> Regarding supporting the '#' root native format we will have to see with >> Andy whether this >> wont harm any existing use cases (as # is a legal character that could >> be used a file name). >> >> Cheers, >> Michal >> ________________________________________ >> From: Adrian Sevcenco >> Sent: 02 September 2019 15:37 >> To: Michal Kamil Simon; [log in to unmask] >> Subject: Re: python :: cp process fails when it shouldn't (another >> utility can download file) >> >> On 9/2/19 2:09 PM, Michal Kamil Simon wrote: >> > Hi Adrian, >> Hi! >> >> > >From what I see in the logs you use the following file name: >> > >> > >> root://eosalice.cern.ch:1094//15/62933/56da6906-9149-11e7-ba1b-579516ed5c66#AliAOD.root >> > >> > The '#' is root syntax for unpacking root files, this is not supported >> > in the >> > xrootd client, instead you have to use the /xrdcl.unzip/ cgi tag, e.g. >> > >> > >> root://eosalice.cern.ch:1094//15/62933/56da6906-9149-11e7-ba1b-579516ed5c66?xrdcl.unzip=AliAOD.root >> >> oh!!! so, could i use a simplistic logic like : >> replace latest '#' from string with '?xrdcl.unzip=' >> >> ALICE stores files in the form of GUID (that last uid) >> and when i request access to a lfn i get the guid and the authz envelope >> for accessing the file ... so, it is guaranteed that i will always get a >> url with a GUID ... >> >> Given this, do you thing that i could use the logic from above? >> >> > alternatively I can expose extracting of zip files (root files use zip >> > format for bundling) >> > in the /CopyProcess.add_job(...)/ method. >> that would be great! if it is possible it would be best if >> the same format of '#file' is recognized (as this is the url that i get >> when requesting lfn access) >> >> Thanks a lot!! >> Adrian >> >> > >> > Hope this helps! >> > >> > Cheers, >> > Michal >> > >> > ________________________________________ >> > From: Adrian Sevcenco >> > Sent: 01 September 2019 22:13 >> > To: [log in to unmask] >> > Cc: Michal Kamil Simon >> > Subject: python :: cp process fails when it shouldn't (another utility >> > can download file) >> > >> > Hi! I have a really baffling situation where my python tool cannot >> > download a file and another tool (java based, use xrdcp) can download >> > the same file ... >> > >> > the detailed logs for my cp are here : >> > https://cernbox.cern.ch/index.php/s/JNaLKsaC5pyrhMP >> > >> > the java based tool it seems that somehow ignores the external XRD_ >> > variables so i cannot get a log of cp process >> > >> > Could some expert take a look please and point me to a hint why my cp >> > fails and the other tool can download just fine? >> > >> > Thank you!! >> > Adrian >> > >> >> >> -- >> ---------------------------------------------- >> Adrian Sevcenco, Ph.D. | >> Institute of Space Science - ISS, Romania | >> adrian.sevcenco at {cern.ch,spacescience.ro} | >> ---------------------------------------------- >> > > > -- > ---------------------------------------------- > Adrian Sevcenco, Ph.D. | > Institute of Space Science - ISS, Romania | > adrian.sevcenco at {cern.ch,spacescience.ro} | > ---------------------------------------------- > > > -- ---------------------------------------------- Adrian Sevcenco, Ph.D. | Institute of Space Science - ISS, Romania | adrian.sevcenco at {cern.ch,spacescience.ro} | ---------------------------------------------- ######################################################################## 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