On 9/16/19 4:23 PM, Michal Kamil Simon wrote: > Hi Adrian, Hi! > Sorry for the late response, to answer your question no they binaries no problem > are not required, > I just pushed a patch, they are not installed any more: > https://github.com/xrootd/xrootd/commit/4974edaa10f23ec94e4877c8747f7518a5753f50 yeap, confirmed. well, my other though was if would have been possible to disable their linking/generation to have a reduced build time ... but it's mostly irrelevant > Checking the libs installed by rpms doesn't make sense, as the user > may decided at any point to upgrade/downgrade/remove them making > the bindings unusable. true ... and if all xrootd is built by hand, both python bindings and libs will be created anyway And just to have it also here, i can confirm that i could get a file from a compressed zip Thank you very much!! Adrian > > Cheers, > Michal > ________________________________________ > From: Adrian Sevcenco > Sent: 11 September 2019 15:38 > 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/11/19 4:16 PM, Michal Kamil Simon wrote: > > Hi Adrian, > Hi! > > > Yep decompression is feasible, though I'm not sure I'm able to implement > > it early enough so it gets included in the next release. Let's see ;-) > it does not matter :) later will be always better than never :)) > > > Please create a feature request in our github ;-) > done :) https://github.com/xrootd/xrootd/issues/1054 > > btw, i was not sure if it is worth to start another mail thread or > issue: i notices that the compilation of xrootd client part for python > installation also creates a lot of executable binaries in > .local/lib/python3.7/site-packages/xrdcl/bin > > 1. are these required? maybe a flag could be added so the > building/linking of these does not happen? > one reason would be that many defaults have .local/bin in PATH so these > could have a not healthy interaction with system binaries and libs > > 2. given that a set of xrootd libs could be already present in system, > is there a way to check compatibility with the system libs and no longer > build/compile the python oriented client libs? > > Thank you!! > Adrian > > > > > > Cheers, > > Michal > > ________________________________________ > > From: Adrian Sevcenco > > Sent: 11 September 2019 15:06 > > 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/11/19 12:15 PM, Michal Kamil Simon wrote: > >> Hi Adrian, > > Hi! > > > >> Your ZIP file you use for testing is compressed, for now we only support > >> extraction from ZIP files > >> that are not compressed (our use case are ROOT files that use ZIP format > >> only for bundling). > > oh... > > > >> You can create an uncompressed ZIP file for testing using following > command: > >> *zip -0 foo.zip /path/to/files/foo* > > all ALICE data and MC central productions are stored in compressed zip > > files.. so it does not matter the use case of uncompressed zips > > > > Is there any chance to have also the extraction from compressed zips? > > > > In my naive thinking is that if you use anyway vector reads to read the > > central directory record and then the file entries (local file header, > > encryption file header, file data and data descriptor) you can use the > > info from local file header to decompress the data > > (from what i see at first glance in > > https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT) > > > > Or should i go towards downloading the zip file to temporary and extract > > the needed files on the client? > > > > Thanks a lot!! > > Adrian > > > > > > > >> > >> Cheers, > >> Michal > >> ________________________________________ > >> From: Adrian Sevcenco > >> Sent: 11 September 2019 09:59 > >> 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/10/19 2:27 PM, Michal Kamil Simon wrote: > >> > Hi Adrian, > >> Hi Michal! > >> > >> > Yes, this should also work from python. > >> > > >> > You just need to add the ?xrdcl.unzip=fn to the metalink url (nothing > >> else), also remove the #fn from the files > >> > inside the metalink. > >> well, it is not working and i get this kind of messages: > >> jobID: 1/1 >>> STATUS: 1 ; ERRNO: 0 ; CODE: 13 ; MESSAGE: [ERROR] > >> Operation not supported: Decompression is not supported! > >> > >> full xrootd log, and my cli debug output (and metalink) are here: > >> https://cernbox.cern.ch/index.php/s/JNaLKsaC5pyrhMP > >> > >> the actual metalink was named with % but it seems that EOS have a bug > >> and deletes the files with % in names (i cannot copy through webdav the > >> original meta file) > >> > >> Thanks a lot!! > >> Adrian > >> > >> > >> > > >> > To make the xrdcl.unzip work for the links/files inside metalink is > >> more complicated, if this is something > >> > you would be interested in, please create an issue in github, but I > >> don't think we will be able to accommodate > >> > this feature request for 4.10.1. > >> > > >> > It is the client that is extracting the file from the zip archive - > >> basically the client reads the central directory record > >> > of the zip archives in order to know the offset of the respective > >> file within the archive. > >> > > >> > Cheers, > >> > Michal > >> > ________________________________________ > >> > From: Adrian Sevcenco > >> > Sent: 10 September 2019 13:11 > >> > 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/10/19 1:22 PM, Michal Kamil Simon wrote: > >> >> Hi Adrian, > >> > Hi! > >> > > >> >> Thanks for reporting this problem! > >> >> > >> >> I just pushed a patch that will allow for adding opaque info to > >> local files: > >> >> > >> > https://github.com/xrootd/xrootd/commit/45f4d8cf1cf2e7bdfc69c461dd47d45ae838748c > >> > great! thanks a lot!!! > >> > > >> >> with this fix you will be able to add the '?xrdcl.unzip=fn' cgi to > >> the local metalink (I run some tests > >> >> and it extracts the right file correctly). > >> > So, would this metfile.meta4?xrdcl.unzip=zipped_file work for the > python > >> > copyProcess? > >> > > >> > Also, would these parameters be added? (the url from metalink have the > >> > ALICE authorization envelope) > >> > > >> >> The patch will be included in 4.10.1 which we are now preparing. > >> > any chance of adding this feature also to the links from within the > >> > metalink? i do not know what is happening within, so i just ask :) > >> > > >> > If the unziping is done on the server side, maybe it would make more > >> > sense to work with actual url (from metalink), the way that you > >> > initially told me to do? > >> > > >> > Thanks a lot! > >> > Adrian > >> > > >> > > >> > > >> >> > >> >> Cheers, > >> >> Michal > >> >> ________________________________________ > >> >> From: Adrian Sevcenco > >> >> Sent: 09 September 2019 12:18 > >> >> 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/9/19 12:56 PM, Michal Kamil Simon wrote: > >> >>> 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 > >> >> well, i do not think that the argument understand something else > than a > >> >> file : > >> >> > >> >> ll > >> >> total 3266976 > >> >> -rw-r--r-- 1 adrian adrian 3345375231 Sep 9 13:06 AliAOD.root.zip > >> >> -rw-rw-r-- 1 adrian adrian 3289 Sep 9 13:02 > >> >> > >> > _alice_data_2018_LHC18m_000291397_pass1_withTRDtracking_AOD208_0884_AliAOD.root.meta4 > >> >> > >> >> xrdcp -p -P -f > >> >> > >> > _alice_data_2018_LHC18m_000291397_pass1_withTRDtracking_AOD208_0884_AliAOD.root.meta4?xrdcl.unzip=AliAOD.root > >> >> AliAOD.root > >> >> xrdcp: No such file or directory processing > >> >> > >> > _alice_data_2018_LHC18m_000291397_pass1_withTRDtracking_AOD208_0884_AliAOD.root.meta4?xrdcl.unzip=AliAOD.root > >> >> > >> >> xrdcp -p -P -f > >> >> > >> > file://localhost/_alice_data_2018_LHC18m_000291397_pass1_withTRDtracking_AOD208_0884_AliAOD.root.meta4?xrdcl.unzip=AliAOD.root > >> >> AliAOD.root > >> >> xrdcp: No such file or directory processing > >> >> > >> > /_alice_data_2018_LHC18m_000291397_pass1_withTRDtracking_AOD208_0884_AliAOD.root.meta4?xrdcl.unzip=AliAOD.root > >> >> > >> >> xrdcp -p -P -f > >> >> > >> > file://localhost/${PWD}/_alice_data_2018_LHC18m_000291397_pass1_withTRDtracking_AOD208_0884_AliAOD.root.meta4?xrdcl.unzip=AliAOD.root > >> >> AliAOD.root > >> >> xrdcp: No such file or directory processing > >> >> > >> > //home/adrian/work-GRID/jalien_py/t/_alice_data_2018_LHC18m_000291397_pass1_withTRDtracking_AOD208_0884_AliAOD.root.meta4?xrdcl.unzip=AliAOD.root > >> >> > >> >> xrdcp -p -P -f > >> >> > >> > file:///localhost/${PWD}/_alice_data_2018_LHC18m_000291397_pass1_withTRDtracking_AOD208_0884_AliAOD.root.meta4?xrdcl.unzip=AliAOD.root > >> >> AliAOD.root > >> >> xrdcp: No such file or directory processing > >> >> > >> > /localhost//home/adrian/work-GRID/jalien_py/t/_alice_data_2018_LHC18m_000291397_pass1_withTRDtracking_AOD208_0884_AliAOD.root.meta4?xrdcl.unzip=AliAOD.root > >> >> > >> >> xrdcp -p -P -f > >> >> > >> > file://${PWD}/_alice_data_2018_LHC18m_000291397_pass1_withTRDtracking_AOD208_0884_AliAOD.root.meta4?xrdcl.unzip=AliAOD.root > >> >> AliAOD.root > >> >> xrdcp: No such file or directory processing > >> >> > >> > /home/adrian/work-GRID/jalien_py/t/_alice_data_2018_LHC18m_000291397_pass1_withTRDtracking_AOD208_0884_AliAOD.root.meta4?xrdcl.unzip=AliAOD.root > >> >> > >> >> Thank you! > >> >> Adrian > >> >> > >> >>> > >> >>> (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