dCache access with gsidcap:// from ROOT?

I’m trying to access data on our local Tier-2 dCache system with gsidcap, since that protocol gives write access to the storage system. Before writing anything I would like to be able to read something with gsidcap from ROOT. Copying a file with dccp works fine:

time dccp -A
gsidcap://pacific01.csc.fi:22128/pnfs/c … /2A5DB271-
6F70-DC11-97D2-000423D986A8.root
/tmp/testfile
998333381 bytes in 23 seconds (42388.48 KB/sec)
0.134u 8.046s 0:24.49 33.3% 0+0k 0+0io 0pf+0w

If I try to open the file in ROOT then it fails
setenv DCACHE_IO_TUNNEL /opt/d-cache/dcap/lib/libgsiTunnel.so
TFile* f =
TFile::Open(“gsidcap://pacific01.csc.fi:22128/pnfs/csc.fi/data/cms/store/CSA07/mc/2007/10/1/CSA07-DrellYan_mumu_40-ALCARECO-A1/0
000/2A5DB271-6F70-DC11-97D2-000423D986A8.root”);
Command failed!
Server error message for [1]: “internalError : User /O=Grid/O=NorduGrid/OU=hip.helsinki.fi/CN=Tomas Linden is not authorized”
(errno
2).
Failed open file in the dCache.

After this error message is printed ROOT hangs and I have to press CTRL-C to get back to the command prompt.

Trying to open the file in read only mode gives another error message
root
TFile* f =
TFile::Open(“gsidcap://pacific01.csc.fi:22128/pnfs/csc.fi/data/cms/store/CSA07/mc/2007/10/1/CSA07-DrellYan_mumu_40-ALCARECO-A1/
0000/2A5DB271-6F70-DC11-97D2-000423D986A8.root”, option=“READ”);
Warning: Automatic variable option is allocated (tmpfile):1:
Command failed!
Server error message for [1]: “Unexpected Exception : java.net.ConnectException: Connection timed out” (errno 33).
Failed open file in the dCache.
SysError in TDCacheFile::TDCacheFile: file
gsidcap://pacific01.csc.fi:22128/pnfs/c … /2A5DB271-
6F70-DC11-97D2-000423D986A8.root
can not be opened for reading (“Unexpected Exception : java.net.ConnectException: Connection timed out”)

Is TFile supposed to be able to open gsidcap URL:s in this way?

Can someone confirm that gsidcap URL:s work with ROOT?

This is with ROOT 5.20/00 and the dCache client version dcache-dcap-1.8.0-4.x86_64.rpm.

Best regards, Tomas Lindén

Forcing dCache to use active transfers by setting
export DCACHE_CLIENT_ACTIVE=1
before running root solved the problem.