Dear ROOT experts,
At KIT (GridKA), we have currently enabled authentificated writing to the user dCache via xrootd. This works fine so far, if using tools like xrd-copy
.
However, if using the remote access implemented in ROOT via xrootd, using a valid proxy, I get errors,
that the accessed file is not writable. If using this code (only possible for ´dcms´ users):
TFile* f = TFile::Open("root://cmsxrootd-kit.gridka.de/pnfs/gridka.de/cms/disk-only/store/user/aakhmets/ggh_hpt_hists.root","write")
f->ls()
f->cd()
h = TH1D("h","h",1,0.0,1.0)
h.Write()
I get:
Error in <TNetXNGFile::WriteTObject>: Directory root://cmsxrootd-kit.gridka.de/pnfs/gridka.de/cms/disk-only/store/user/aakhmets/ggh_hpt_hists.root is not writable
Or, if trying to write to the file via hadd
(essentially a TFile.Open()
with "recreate"
within TChain
, as far as I understand):
hadd Target file: root://cmsxrootd-kit.gridka.de/pnfs/gridka.de/cms/disk-only/store/user/aakhmets/test.root
hadd compression setting for all output: 1
Error in <TNetXNGFile::WriteBuffer>: [ERROR] Server responded with an error: [3004] Tried to write on read only file.
Error in <TNetXNGFile::WriteBuffer>: [ERROR] Server responded with an error: [3004] Tried to write on read only file.
Other protocols (like dcap
) are working with authorized, writable access (e.g. [*]) via hadd
, but are limited to local networks, while XrootD is possible to be used from remote sites.
I’m using ROOT versions available at cvmfs
,
either the LCG stack
source /cvmfs/sft.cern.ch/lcg/views/LCG_96b/x86_64-centos7-gcc9-opt/setup.sh
or the CMSSW version
source /cvmfs/cms.cern.ch/cmsset_default.sh
scram project CMSSW_11_0_0_patch1; cd CMSSW_11_0_0_patch1/src
eval `scramv1 runtime -sh`
Is this issue known? If yes, do you have any proposal to avoid it?
Please note, that we would prefer to write to the output directly via XrootD streaming and to avoid to produce local copies of outputs, which are then transferred with xrd-copy
to the target. This would allow us to satisfy much more batch system requirements (essentially the scratch space on the batch node) in our analysis purposes.
Thank you very much in advance!
Cheers,
Artur Gottmann
[*] https://wiki.chipp.ch/twiki/bin/view/CmsTier3/HowToAccessSe#ROOT_examples